TinySSH is small server (less than 100000 words of code)
TinySSH is small server (less than 100000 words of code)
Starting with version 20260906, TinySSH rejects all client-supplied environment variables (env channel requests) for security reasons. This may affect configurations using OpenSSH SendEnv or SetEnv; any required variables must be set on the server instead.
As of version 20260906, TinySSH supports the following SSHv2 algorithms:
| OpenSSH option | Algorithms |
|---|---|
| KexAlgorithms | curve25519-sha256, [email protected], [email protected], sntrup761x25519-sha512 |
| Ciphers | [email protected] |
| MACs | hmac-sha2-256 (advertised for protocol compatibility; authentication is provided by the [email protected] AEAD cipher) |
| HostKeyAlgorithms | ssh-ed25519 |
TinySSH also supports the OpenSSH strict key-exchange extension [email protected].
The curve25519-sha256 algorithms can be disabled with -S. The post-quantum [email protected] algorithm can be disabled with -P.
make
sudo make install mkdir -p /etc/tinyssh
tinysshd-makekey /etc/tinyssh/sshkeydir TCPSERVER
tcpserver -HRDl0 0.0.0.0 22 /usr/sbin/tinysshd -v /etc/tinyssh/sshkeydir &
BUSYBOX
busybox tcpsvd 0 22 tinysshd -v /etc/tinyssh/sshkeydir &
INETD
/etc/inetd.conf:
ssh stream tcp nowait root /usr/sbin/tinysshd tinysshd -l -v /etc/tinyssh/sshkeydir
SYSTEMD
tinysshd.socket:
[Unit]
Description=TinySSH server socket
ConditionPathExists=!/etc/tinyssh/disable_tinysshd
[Socket]
ListenStream=22
Accept=yes
[Install]
WantedBy=sockets.target
[email protected]:
[Unit]
Description=Tiny SSH server
After=network.target auditd.service
[Service]
ExecStartPre=-/usr/sbin/tinysshd-makekey -q /etc/tinyssh/sshkeydir
EnvironmentFile=-/etc/default/tinysshd
ExecStart=/usr/sbin/tinysshd $TINYSSHDOPTS -- /etc/tinyssh/sshkeydir
KillMode=process
SuccessExitStatus=111
StandardInput=socket
StandardError=journal
[Install]
WantedBy=multi-user.targetNo open issues yet, or sync has not completed.