Choose a different version or distribution
Introduction
Before we begin talking about how to enable SSH on Ubuntu 20.04, let’s briefly understand - What is SSH?
SSH (Secure Shell) is a secure network protocol that allows remote access and secure communication between two devices. It provides a secure way to connect to and manage remote servers and computers over an unsecured network, like the internet. SSH encrypts the data sent between devices, ensuring confidentiality and protecting against unauthorized access.
It is widely used by system administrators and developers to remotely access and control servers, transfer files securely, and execute commands securely. SSH is a crucial tool for maintaining the security and integrity of remote systems, making it an essential component of modern computing infrastructure.
In this tutorial, you will enable SSH on Ubuntu 20.04. We will also address some of the FAQs related to SSH.
Advantages of SSH
- Secure Remote Access: SSH provides a secure and encrypted method for remote access to servers and computers, protecting against unauthorized access.
- Data Encryption: SSH encrypts data transmitted between devices, ensuring confidentiality and safeguarding sensitive information.
- Authentication: SSH uses strong authentication methods, including public key authentication, to verify the identity of users connecting to remote systems.
- Secure File Transfer: SSH enables secure file transfer between devices, allowing for the safe exchange of files and documents.
- Command Execution: SSH allows for secure execution of remote commands, enabling efficient management and administration of servers and systems.
Prerequisite to Install and Enable SSH on Ubuntu 20.04
In order to complete this tutorial, you need to log in as a user with sudo
privileges.
Enabling SSH on Ubuntu
You won't find SSH installed on your system by default though you can easily install it from the standard Ubuntu repositories.
1) To begin with, use Ctrl+Alt+T
on the keyboard to access your terminal. You can also do this by clicking on the terminal icon. Then, install the openssh-server
package using the following command:
sudo apt update
sudo apt install openssh-server
2) After that, enter the password when prompted, then press Y
to continue with the installation.
3) The SSH should start automatically once the installation is complete. The following command can help in verifying the status of the SSH service by printing the SSH server status:
sudo systemctl status ssh
You should be able to see Active: active (running)
Then, press q
to return to the command line prompt.
4) You need to open the SSH port in case the UFW firewall is enabled.
sudo ufw allow ssh
Connecting to SSH
1) You can connect to a nearby device with the help of the Ubuntu servers using the following command:
ssh username@ip_address
2) In case you are unaware of your IP address, you can easily find it using the following command:
ip a
3) Then, log in to the remote server.
You will then see a message which resembles the below output (for the first time you log in through SSH):
Output
The authenticity of host '<ip>' can't be established.
ECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY.
Are you sure you want to continue connecting (yes/no)?
4) Once you press yes
you will be prompted to enter the password:
Output
Warning: Permanently added '<ip>' (ECDSA) to the list of known hosts.
usernampe@ip's password:
You will then be greeted with the following message:
Output
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-26-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
You are now logged into your Ubuntu Machine.
Connecting to SSH Over the Internet
The basic piece of information required to access your Ubuntu machine is your public IP address and also how to configure your router to accept data on port 22 then send it to the Ubuntu machine where SSH is running.
You can find out the public IP address by navigating to the following url: https://api.ipify.org
.
It is recommended that you refer to your router's documentation so that you get a personalized take on setting up port forwarding. The default port for SSH is port 22 which needs to be entered along with the IP address.
You can then log in with the help of the following:
ssh username@public_ip_address
It is also recommended to implement certain security measures, such as configuring your router to accept SSH traffic on a non-standard port and to forward it to port 22 on the machine running the SSH service.
You may also set up an SSH key-based authentication to connect to your Ubuntu machine without entering a password.
Disabling SSH on Ubuntu
In the scenario where you need to disable SSH, you can simply stop the SSH service using the following command:
sudo systemctl stop ssh
To start the SSH service again:
sudo systemctl start ssh
In order to disable SSH service to start during system boot:
sudo systemctl disable ssh
In case you wish to re-enable it, use:
sudo systemctl enable ssh
FAQs to Install and Enable SSH on Ubuntu 20.04
How can I check if SSH is running on my Ubuntu 20.04 system?
Use the command sudo systemctl status ssh
to check the status of the SSH service. If it's running, you will see an active (running)
message.
Can I change the default SSH port on Ubuntu 20.04?
Yes, you can change the default port for SSH. Open the SSH configuration file using a text editor, locate the Port
line, and modify the port number. Save the file and restart the SSH service.
How do I connect to my Ubuntu 20.04 server using SSH?
On another machine, open the terminal and run the command: ssh username@server_ip_address
replacing username
with your username and server_ip_address
with the IP address of your Ubuntu 20.04 server.
How can I generate SSH keys on Ubuntu 20.04?
Use the command ssh-keygen
to generate SSH keys on Ubuntu 20.04. It will create a public key and a private key pair, which you can use for secure authentication.
Where are the SSH configuration files located on Ubuntu 20.04?
The main SSH configuration file is located at /etc/ssh/sshd_config
. You can modify various settings in this file to customize the behavior of the SSH server.
How can I disable SSH access temporarily on Ubuntu 20.04?
To disable SSH temporarily, use the command sudo systemctl stop ssh
to stop the SSH service. Remember to start it again with sudo systemctl start ssh
when you need to re-enable it.
Conclusion
We hope this detailed tutorial helped you understand how to enable SSH on Ubuntu 20.04.
If you have any queries, please leave a comment below, and we’ll be happy to respond to them for sure.