默认情况下,SSH 侦听端口 22。更改默认 SSH 端口会通过降低自动攻击的风险为您的服务器增加额外的安全层。
本教程介绍了如何更改 Linux 中的默认 SSH 端口。我们还将向您展示如何配置防火墙以允许访问新的 SSH 端口。
[su_note note_color=”#ffeb66″]保护您的服务器免受攻击的最佳方法是将您的防火墙配置为仅允许从受信任的主机访问端口 22 并设置
基于 SSH 密钥的身份验证 。[/su_note]
更改 SSH 端口
更改映像的 SSH 端口是一项简单的任务。您需要做的就是编辑 SSH 配置文件并重新启动服务。
以下部分说明如何在 Linux 系统上更改 SSH 端口。
1. 选择一个新的端口号
在 Linux 中,1024 以下的端口号是为知名服务保留的,只能由 root 绑定。虽然您可以为SSH服务使用1-1024范围内的端口,以避免以后出现端口分配问题,但建议选择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/tc 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
/etc/ssh/sshd_config
使用文本编辑器打开 SSH 配置文件:
sudo vim /etc/ssh/sshd_config
搜索 以 开头的行Port 22
。在大多数情况下,该行以哈希 ( #
) 字符开头。删除哈希#
并输入新的 SSH 端口号:
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 username@remote_host_or_ip
如果您经常连接到多个系统,则可以通过在SSH 配置文件中定义所有连接来简化工作流程 。
总结
在本教程中,您学习了如何更改 Linux 服务器上的 SSH 端口。您还应该设置基于SSH 密钥的身份验证, 并在不输入密码的情况下连接到您的 Linux 服务器。
1条评论