Setting up a SSH server
This article provides a short overview of SSH on Alpine Linux.
Also see Secure Shell (Wikipedia).
OpenSSH is a popular SSH implementation for remote encrypted login to a machine. OpenSSH defines sshd as the daemon, and ssh as the client program.
The openssh package provides OpenSSH on Alpine Linux.
Install the openssh package:
apk add openssh
Also see Alpine Linux package management .
Enable the sshd service so that it starts at boot:
rc-update add sshd
List services to verify sshd is enabled:
Start the sshd service immediately and create configuration files:
Also see Alpine Linux Init System.
You may wish to change the default configuration. This section describes some of the configuration options as examples, however it is by no means an exhaustive list. See the manual for full details.
The fine-tuning is done by editing /etc/ssh/sshd_config. Any line starting with "#" is ignored by sshd.
UseDNS no # By setting this to no, connection speed can increase. PasswordAuthentication no # Do not allow password authentication.
Other configuration options are shown in /etc/ssh/sshd_config. The file includes comments that explain many of the options.
Firewalling and Port Changes
By default, sshd will communicate on TCP port 22.
Sometimes 22/tcp is blocked by a firewall over which you have no control. Changing the Port option to an unused port number in /etc/ssh/sshd_config may be useful in this situation.
Port 443 # Use whichever port number fits your needs
Restart sshd after making modifications to the configuration file:
Dropbear is a lightweight SSH client/server alternative to OpenSSH.
dropbear can be install through the Alpine setup scripts, or manually with:
apk add dropbear
rc-service dropbear start
Add it to the default runlevel:
rc-update add dropbear
Use the following command to check all available server options:
The config file is located at
dropbear-dbclient contains the SSH client and can be installed manually with:
apk add dropbear-dbclient
In its simplest form it can be used like this:
(where x.x.x.x is the IP address of the remote machine).
dbclient -h to see all available options.