Gaming industry under DDoS attack. Get DDoS protection now. Start onboarding
  1. Home
  2. Developers
  3. How to Change SSH Port on Linux

How to Change SSH Port on Linux

  • By Gcore
  • September 6, 2023
  • 2 min read
How to Change SSH Port on Linux

In today’s digital age, securing server access is more crucial than ever. One effective method to thwart potential attackers is by altering the default SSH port. This article provides a comprehensive guide on how to safely make this change, ensuring not only a fortified security stance but also uninterrupted server access.

About the SSH Port

SSH (Secure Shell) is a protocol used primarily for secure remote server access and management. When we talk about the “SSH port,” we’re referring to the network port number on which an SSH server listens for incoming connections. By default, SSH servers listen on port 22. However, for security reasons, many system administrators choose to change this default port to another, less predictable number to help protect against automated attacks. Though it’s not mean that this is enough for comprehensive security, additional measures. 

Changing the SSH Port

Changing the default SSH port on a Linux system can add an additional layer of security against automated attacks. Here’s a step-by-step guide to help you make the change:

1. Backup the Configuration File. Before making any changes, it’s always a good practice to back up your SSH configuration file.

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup

2. Edit the SSH Configuration File. Open the SSHD configuration file with your preferred text editor. For this example, we’ll use nano.

sudo nano /etc/ssh/sshd_config

Sample Output:

3. Locate the Port Directive. Find the line that starts with Port. It should say Port 22 by default.

4. Change the Port Number. Edit the line to reflect your desired port number, preferably above 1024 to avoid conflicts with other standard services. For instance, to change it to port 2222, the line would look like:

Port 2222

5. Save and Close the File. If you’re using nano, press CTRL + O to write the changes, then press Enter, and CTRL + X to exit.

6. Adjust Firewall Rules. If you have a firewall enabled (like UFW or Firewalld), you’ll need to update its rules to allow connections on the new SSH port.

sudo ufw allow 2222/tcp

7. Restart the SSH Service. Apply the changes by restarting the SSH daemon.

sudo systemctl restart sshd

8. Test the New SSH Port. Before logging out of your current session, open a new terminal or SSH client and try connecting to the server using the new port to ensure everything works correctly:

ssh username@your_server_ip -p 2222

If you’re sure about your changes and the new port is working, and if you have a firewall enabled, consider closing the default port (22) to enhance security. Always be cautious when changing SSH settings, especially if you’re connecting remotely. Mistakes might lock you out of your server. Once you’re done, your Linux server will now accept SSH connections on the new port, enhancing its security against potential threats targeting the default port.

Conclusion

Looking to deploy Linux in the cloud? With Gcore Cloud, you can choose from Basic VM, Virtual Instances, or VPS/VDS suitable for Linux:

Choose an instance

Related articles

What are load balancing algorithms and how do they work?

Load balancing automatically distributes incoming network traffic across multiple compute resources according to specified rules. Modern applications can generate millions of requests per second, and sharing the load boosts performance and

What is Function as a Service (FaaS)?

Function as a Service (FaaS) is a serverless computing model that lets developers write and deploy code in small, independent functions without managing any server infrastructure. Over 50% of organizations now adopt serverless technologies

What is DNS-over-HTTPS (DoH)?

DNS-over-HTTPS (DoH) is an internet security protocol that encrypts DNS queries by sending them over HTTPS connections on port 443, the same port used for standard HTTPS traffic. Standardized by the IETF in RFC 8484 in October 2018, DoH pre

TLS 1.3 vs TLS 1.2: what’s the difference?

TLS 1.3 vs 1.2 refers to the comparison between two versions of the Transport Layer Security protocol, a cryptographic standard that encrypts data exchanged between clients and servers to secure network communications. TLS 1.3, finalized in

What does SSL handshake failed mean?

An “SSL handshake failed” error occurs when a client and server can't complete the initial negotiation process required to establish a secure encrypted connection. This negotiation happens before any data transfer begins and typically compl

What is TLS 1.3?

TLS 1.3 is the latest version of the Transport Layer Security protocol, standardized in RFC 8446 in August 2018. This cryptographic protocol secures communication between clients and servers across the internet, from web browsing to API cal

Subscribe to our newsletter

Get the latest industry trends, exclusive insights, and Gcore updates delivered straight to your inbox.