Introduction: sshd (OpenSSH Daemon or server) is the daemon program for ssh client. It is a free and open source ssh server. ssh replaces insecure rlogin and rsh, and provide secure encrypted communications between two untrusted hosts over an insecure network such as the Internet. Ubuntu Desktop and minimal Ubuntu server do not come with sshd installed. However, you can easily install SSH server in Ubuntu using the following steps.
How to install SSH server in Ubuntu
The procedure to install a ssh server in Ubuntu Linux is as follows:
- Open the terminal application for Ubuntu desktop.
- For remote Ubuntu server you must use BMC or KVM or IPMI tool to get console access
- Type sudo apt-get install openssh-server
- Enable the ssh service by typing sudo systemctl enable ssh
- Start the ssh service by typing sudo systemctl start ssh
- Test it by login into the system using ssh user@server-name
Let us see all Ubuntu OpenSSH server installation steps in details.
1. Login to remote server using bmc/ipmi/kvm over IP (optional)
I am using OpenPOWER based system called Talos II from Raptor Computing Systems. It is a PowerPC (ppc/ppc64le) based architecture. After a fresh installation of Ubuntu Linux (ppc64le), I found does not come with SSH server installed by default. So here is how to login to bmc server to gain access to the serial console:
$ ssh root@power9-bmc
Run obmc-console-client to get console access to the Ubuntu server console:
2. Ubuntu Linux install OpenSSH server
3. Verify that ssh service running
Type the following systemctl command:
$ sudo systemctl status ssh
If not running enable the ssh server and start it as follows by typing the systemctl command:
$ sudo systemctl enable ssh
$ sudo systemctl start ssh
Synchronizing state of ssh.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable ssh Created symlink /etc/systemd/system/sshd.service ? /lib/systemd/system/ssh.service.
4. Configure firewall and open port 22
You must configure the Ubuntu Linux firewall called ufw. Here is how open or allow port 22 when using ufw on Ubuntu:
$ sudo ufw allow ssh
$ sudo ufw enable
$ sudo ufw status
5. Test it
Now you can login from your desktop computer powered by Linux, *BSD, macOS, MS-Windows (putty client) or Unix-like system using the ssh command:
$ ssh vivek@server-ip
$ ssh vivek@power9
You can install copy and install the public key using ssh-copy-id command for password less login:
$ ssh-copy-id vivek@power9
See “SSH Public Key Based Authentication on a Linux/Unix server” for more info.
Ssh config file
One can create shortcuts for ssh login / client options. For example create a file named ~/.ssh/config as follows:
$ nano ~/.ssh/config
$ vi $HOME/.ssh/config
Append the following to login into my EC2 Ubuntu server at AWS cloud:
Host web01 HostName aws-ec2-www-server1.cyberciti.biz Port 22 IdentityFile ~/.ssh/AWS_EC2_Virginia_US_East_Ubuntu_Boxes.pem User ubuntu
To log in simply type:
See “OpenSSH Config File Examples” for more info.
In this tutorial, you learn how to install the OpenSSH server application at a terminal prompt. Although instructions tested for Power9 (ppc64le) architecture, they should work on Intel AMD64 or ARAM64 server as well. For more info see OpenSSH home page here and how to secure OpenSSH server tutorial here.