# 在 Linux 中更改 SSH 端口

> 来源：梦飞idc云平台 | 原文：https://www.mfisp.com/26193.html | 发布：2023-12-20 | 更新：2023-12-20 | 分类：运维技术

**前言**

 

默认情况下， SSH 侦听端口 22 。 更改默认 SSH 端口可以降低被自动攻击的风险，从而为服务器增加额外的安全层。  
和更改默认端口相比，将防火墙配置为仅允许从特定主机访问端口 22 则更加简单和安全。  
本教程介绍如何更改 Linux 中的默认 SSH 端口。我们还将向您展示如何配置防火墙以允许访问新的 SSH 端口。

 

**选择新的端口号**

 

在 Linux 中，低于 1024 的端口号保留用于众所周知的服务，并且只能由 root 绑定。虽然您可以使用 1-1024 范围内的端口进行 SSH 服务，但为了避免将来出现端口分配问题，建议选择 1024 以上的端口。  
在此示例中，将 SSH 端口更改为 5522 ，当然您可以选择任何您喜欢的端口。

 

**调整防火墙**

 

在更改 SSH 端口之前，首先需要调整防火墙以允许新 SSH 端口上的流量。

 

如果您使用的是 Ubuntu 的默认防火墙配置工具 UFW ， 请运行以下命令来打开新的 SSH 端口：

 

sudo ufw allow 5522/tcp

 

在 CentOS 中，默认的防火墙管理工具是 FirewallD 。要打开新端口，请运行以下命令：

 

sudo firewall-cmd --permanent --zone=public --add-port=5522/tcp  
sudo firewall-cmd --reload

 

CentOS 用户还需要调整 SELinux 规则以允许新的SSH端口：

 

sudo semanage port -a -t ssh_port_t -p tcp 5522

 

如果您使用 iptables 作为防火墙，则以下命令将打开新的 SSH 端口：

 

sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

 

**编辑 SSH 配置**

 

使用文本编辑器打开 SSH 配置文件 /etc/ssh/sshd_config ：

 

sudo nano /etc/ssh/sshd_config

  

搜索以 Port 22 开头的行。在大多数情况下，此行将以 # 开头。删除 # 并输入将用于代替标准 SSH 端口 22 的新 SSH 端口号。

 

Port 5522  
修改 SSH 配置文件时要格外小心。不正确的配置可能导致 SSH 服务无法启动。

 

完成后保存文件并重新启动 SSH 服务以应用更改：

 

sudo systemctl restart ssh

 

在 CentOS 中， ssh 服务命名为 sshd ：

 

sudo systemctl restart sshd

 

要验证 SSH 守护程序是否正在侦听新端口 5522 ，请键入：

 

ss -an | grep 5522

 

**使用新的 SSH 端口**

 

现在您已经更改了要登录远程的计算机 SSH 端口，您需要在登录时指定新端口。  
使用 -p <port_number> 选项指定端口：

 

ssh -p 5522 username@remote_host_or_ip

 

**总结**

 

通过以上方式，就可以修改我们的SSH端口，但是一般情况下不进行修改，SSH本身很安全，但如果在复杂网络环境中，有此需求，就可以考虑。

---
本页由 梦飞idc云平台（https://www.mfisp.com）提供。站点导航见 https://www.mfisp.com/llms.txt
