如何在Linux中更改SSH端口
默认情况下,SSH侦听端口22。更改默认SSH端口可降低自动攻击的风险,从而为服务器增加一层额外的安全保护。
本教程说明了如何在Linux中更改默认的SSH端口。 我们还将向您展示如何配置防火墙以允许访问新的SSH端口。
保护服务器免受攻击的最佳方法是将防火墙配置为仅允许从受信任的主机访问端口22并设置基于SSH密钥的身份验证。
更改SSH端口号
更改映像的SSH端口是一项简单的任务。 您需要做的只是编辑SSH配置文件并重新启动服务。
以下各节说明如何在Linux系统上更改SSH端口。
1.选择一个新的端口号
在Linux中,低于1024的端口号是为知名服务保留的,只能由root绑定。 尽管您可以在1-1024范围内为SSH服务使用端口,以避免将来出现端口分配问题,但建议选择1024以上的端口。
在此示例中,将SSH端口更改为5522,您可以选择所需的任何端口。
2.调整防火墙编号
在更改SSH端口之前,您需要调整防火墙以允许新SSH端口上的流量。
如果您使用UFW(Ubuntu的默认防火墙配置工具),请运行以下命令以打开新的SSH端口:
sudo ufw allow 5522/tcp
在CentOS中,默认的防火墙管理工具是FirewallD。 要打开新端口,请运行:
sudo firewall-cmd --permanent --zone=public --add-port=5522/tcp
sudo firewall-cmd --reload
CentOS用户还需要调整SELinux规则:
sudo semanage port -a -t ssh_port_t -p tcp 5522
如果您将iptables用作防火墙,请打开新端口,运行:
sudo iptables -A INPUT -p tcp --dport 5522 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
3.配置SSH#
打开SSH配置文件 /etc/ssh/sshd_config
使用您的文本编辑器:
sudo vim /etc/ssh/sshd_config
搜索以开头的行 Port 22
。 在大多数情况下,此行以哈希开头(#
)字符。 删除哈希 #
并输入新的SSH端口号:
/ etc / ssh / sshd_config
Port 5522
修改SSH配置文件时要格外小心。 错误的配置可能会导致SSH服务无法启动。
完成后,保存文件并重新启动SSH服务以应用更改:
sudo systemctl restart ssh
在CentOS中,ssh服务被命名为 sshd
:
sudo systemctl restart sshd
要验证SSH守护进程正在侦听新端口5522,请键入:
ss -an | grep 5522
输出应如下所示:
tcp LISTEN 0 128 0.0.0.0:5522 0.0.0.0:*
tcp ESTAB 0 0 192.168.121.108:5522 192.168.121.1:57638
tcp LISTEN 0 128 [::]:5522 [::]:*
使用新的SSH端口号
要指定端口,请调用 ssh
命令后跟 -p <port_number>
选项:
ssh -p 5522 [email protected]_host_or_ip
如果您定期连接到多个系统,则可以通过在SSH配置文件中定义所有连接来简化工作流程。
结论#
在本教程中,您学习了如何更改Linux服务器上的SSH端口。 您还应该设置基于SSH密钥的身份验证,并在不输入密码的情况下连接到Linux服务器。
如有任何疑问,请随时发表评论。
SSH安全