How to enable ssh on Linux?

Enabling SSH on Linux: A Step-by-Step Guide

Introduction

Secure Shell (SSH) is a widely used protocol for remote access to Linux systems. It provides a secure and encrypted way to connect to a remote server, allowing users to execute commands, transfer files, and access the server’s resources without exposing the server’s IP address. In this article, we will guide you through the process of enabling SSH on Linux.

Prerequisites

Before we begin, make sure you have the following:

  • A Linux distribution (e.g., Ubuntu, Debian, CentOS)
  • A user account with sudo privileges
  • A working internet connection

Step 1: Install the SSH Server

To enable SSH on Linux, you need to install the SSH server. The most common SSH server is OpenSSH, which is included with most Linux distributions. However, if you want to use a different SSH server, you can install it separately.

  • On Ubuntu-based systems:
    sudo apt-get install openssh-server
  • On Debian-based systems:
    sudo apt-get install openssh-server
  • On CentOS-based systems:
    sudo yum install openssh-server

Step 2: Configure the SSH Server

Once you have installed the SSH server, you need to configure it to start automatically on boot. You can do this by editing the /etc/ssh/sshd_config file.

  • On Ubuntu-based systems:
    sudo nano /etc/ssh/sshd_config
  • On Debian-based systems:
    sudo nano /etc/ssh/sshd_config
  • On CentOS-based systems:
    sudo nano /etc/ssh/sshd_config
  • Add the following lines to the end of the file:
    # Allow clients to log in with any username
    permitopen = "*:22"
  • Save and close the file.

Step 3: Start the SSH Server

After configuring the SSH server, you need to start it. You can do this by running the following command:

  • On Ubuntu-based systems:
    sudo service ssh start
  • On Debian-based systems:
    sudo service ssh start
  • On CentOS-based systems:
    sudo systemctl start ssh

Step 4: Enable SSH on the Firewall

To allow incoming SSH connections, you need to enable the SSH port on your firewall. The default firewall settings may vary depending on your Linux distribution. Here are the steps for Ubuntu-based systems:

  • On Ubuntu-based systems:
    sudo ufw allow ssh
  • On Debian-based systems:
    sudo ufw allow ssh
  • On CentOS-based systems:
    sudo firewall-cmd --zone=public --add-port=22/tcp --permanent

Step 5: Set a Password for the SSH User

To secure your SSH connection, you need to set a password for the SSH user. You can do this by running the following command:

  • On Ubuntu-based systems:
    sudo passwd ssh
  • On Debian-based systems:
    sudo passwd ssh
  • On CentOS-based systems:
    sudo usermod -aG sudo ssh

Step 6: Test the SSH Connection

To test the SSH connection, you can use the following command:

  • On Ubuntu-based systems:
    ssh user@localhost
  • On Debian-based systems:
    ssh user@localhost
  • On CentOS-based systems:
    ssh user@localhost

Step 7: Set a Key for the SSH User

To add a key to the SSH user, you need to generate a key pair using the following command:

  • On Ubuntu-based systems:
    ssh-keygen -t rsa -b 4096
  • On Debian-based systems:
    ssh-keygen -t rsa -b 4096
  • On CentOS-based systems:
    ssh-keygen -t rsa -b 4096

Step 8: Copy the Public Key to the Server

To copy the public key to the server, you need to use the following command:

  • On Ubuntu-based systems:
    ssh-copy-id user@server_ip
  • On Debian-based systems:
    ssh-copy-id user@server_ip
  • On CentOS-based systems:
    ssh-copy-id user@server_ip

Step 9: Set the SSH Port

To set the SSH port, you need to edit the /etc/ssh/sshd_config file.

  • On Ubuntu-based systems:
    sudo nano /etc/ssh/sshd_config
  • On Debian-based systems:
    sudo nano /etc/ssh/sshd_config
  • On CentOS-based systems:
    sudo nano /etc/ssh/sshd_config
  • Add the following lines to the end of the file:
    # Set the SSH port to 22
    Port 22
  • Save and close the file.

Step 10: Restart the SSH Server

After making the changes, you need to restart the SSH server. You can do this by running the following command:

  • On Ubuntu-based systems:
    sudo service ssh restart
  • On Debian-based systems:
    sudo service ssh restart
  • On CentOS-based systems:
    sudo systemctl restart ssh

Conclusion

Enabling SSH on Linux is a straightforward process that requires some basic knowledge of Linux commands and configuration files. By following these steps, you can set up a secure SSH connection to your Linux system and access it remotely. Remember to keep your SSH keys secure and never share them with anyone.

Unlock the Future: Watch Our Essential Tech Videos!


Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top