Topic: WolfSSH as a generic sshd service (alternative to OpenSSH server)
Hi,
I am investigating using wolfSSH as an alternative to OpenSSH server on my systems. Unfortunately it isn't packaged yet so I am building wolfSSL and wolfSSH from git sources.
I am able to run wolfsshd with a minor sshd_config that i took from the test unit.
There doesn't seem to be any official documentation on the wolfsshd itself. The manual at https://www.wolfssl.com/documentation/m … ter03.html simply says "This tool is a place holder." which makes me think that the server part is more of an example of how the wolfSSH library could be implemented?
I am also not sure if a key gen tool should be available. I built ssl and ssh with --enable-all as well as with --enable-keygen specifically, but no keygen tool is created. It means that I had to create host keys using the openssh key-gen tool 'ssh-keygen -t rsa -b 2048 -f server-key.pem -m PEM'
This is the configure output:
---
Configuration summary for wolfssh version 1.4.17
* Installation prefix: /opt/wolfssh
* System type: pc-linux-gnu
* Host CPU: x86_64
* C Compiler: gcc
* C Flags: -O2 -march=native -Wno-pragmas -Wall -Wno-strict-aliasing -Wextra -Wunknown-pragmas --param=ssp-buffer-size=1 -Waddress -Warray-bounds -Wbad-function-cast -Wchar-subscripts -Wcomment -Wfloat-equal -Wformat-security -Wformat=2 -Wmaybe-uninitialized -Wmissing-field-initializers -Wmissing-noreturn -Wmissing-prototypes -Wnested-externs -Wnormalized=id -Woverride-init -Wpointer-arith -Wpointer-sign -Wredundant-decls -Wshadow -Wsign-compare -Wstrict-overflow=1 -Wstrict-prototypes -Wswitch-enum -Wundef -Wunused -Wunused-result -Wunused-variable -Wwrite-strings -fwrapv
* CPP Flags: -I/opt/wolfssl/include
* Linker Flags: -L/opt/wolfssl/lib
Features
* Inline Code: yes
* Small stack: no
* keygen: yes
* psuedo-terminal: yes
* echoserver shell support: yes
* scp: yes
* sftp: yes
* sshd: yes
* ssh client: yes
* agent: yes
* TCP/IP Forwarding: yes
* X.509 Certs: yes
* Examples: yes
* liboqs Integration: no
This is output from make:
make[1]: Entering directory '/usr/src/wolf/wolfssh/wolfssh-1.4.17-stable'
CC apps/wolfsshd/test/test_configuration-test_configuration.o
CC apps/wolfssh/wolfssh.o
CC apps/wolfssh/common.o
CC src/libwolfssh_la-ssh.lo
CC src/libwolfssh_la-internal.lo
CC src/libwolfssh_la-log.lo
CC src/libwolfssh_la-io.lo
CC src/libwolfssh_la-port.lo
CC src/libwolfssh_la-keygen.lo
CC src/libwolfssh_la-wolfscp.lo
CC src/libwolfssh_la-wolfsftp.lo
CC src/libwolfssh_la-agent.lo
CC src/libwolfssh_la-certman.lo
CC apps/wolfsshd/wolfsshd.o
CC apps/wolfsshd/configuration.o
CC apps/wolfsshd/auth.o
CC apps/wolfsshd/test_test_configuration-configuration.o
CC examples/client/client.o
CC apps/wolfsshd/test_test_configuration-auth.o
CC examples/client/common.o
CC examples/echoserver/echoserver-echoserver.o
CC examples/portfwd/portfwd.o
CC examples/sftpclient/sftpclient.o
CC examples/scpclient/scpclient.o
CC tests/unit_test-unit.o
CC tests/api_test-api.o
CC examples/echoserver/tests_api_test-echoserver.o
CC tests/testsuite_test-testsuite.o
CC tests/testsuite_test-sftp.o
CC examples/echoserver/tests_testsuite_test-echoserver.o
CC examples/client/tests_testsuite_test-client.o
CC examples/client/tests_testsuite_test-common.o
CC examples/sftpclient/tests_testsuite_test-sftpclient.o
CCLD src/libwolfssh.la
CCLD apps/wolfsshd/wolfsshd
CCLD apps/wolfssh/wolfssh
CCLD apps/wolfsshd/test/test_configuration
CCLD examples/client/client
CCLD examples/echoserver/echoserver
CCLD examples/portfwd/portfwd
CCLD examples/sftpclient/wolfsftp
CCLD examples/scpclient/wolfscp
CCLD tests/unit.test
CCLD tests/api.test
CCLD tests/testsuite.test
make[1]: Leaving directory '/usr/src/wolf/wolfssh/wolfssh-1.4.17-stable'