15人参与 • 2026-09-15 • Linux
服务器安全一直是linux运维和站长关注的重点。而ssh服务作为远程管理和文件传输的核心入口,默认端口(22)常常成为黑客暴力 破解、扫描入侵的“重点目标”。因此,修改ssh端口不仅有助于减少被扫描爆破的概率,也是企业与个人服务器安全加固的基础操作。许多初学者和一线运维常因系统版本不同、服务管理工具有差异,不知道如何正确、全面、安全地修改ssh远程端口。为此,本文将结合centos(含almalinux/rockylinux)、ubuntu、debian等主流linux发行版,讲解变更ssh端口的详细流程、常见问题、风险规避与实战运维经验,帮助大家高效安全地完成端口“搬家”。
注意:端口号建议选1024-65535间不常用端口,且避免与其他服务冲突。
修改ssh端口的本质是变更sshd服务监听的tcp端口,配置文件统一位于/etc/ssh/sshd_config。注意,不同linux发行版服务管理工具和防火墙默认规则会有差异。必须同步完成:
最大风险提醒:切勿直接关闭自己唯一的ssh管理窗口,建议操作前“新建第二个ssh窗口”完成测试,确保不会因配置失误导致服务器“锁门”。
root或sudo权限操作。/etc/ssh/sshd_config命令示例:
vi /etc/ssh/sshd_config
找到如下行(可能被注释,默认#port 22), 去掉#号并将端口号改为你想要的端口(如20660):
port 20660
友情提示:可以同时写多行port保证主备端口(如port 22和port 2222同时可用),调试无误后再删除旧端口。
firewalld(centos 7/8/almalinux/rocky常见):
firewall-cmd --zone=public --add-port=20660/tcp --permanent firewall-cmd --reload
iptables(centos 6或特殊场景):
iptables -a input -p tcp --dport 20660 -j accept service iptables save service iptables restart
云主机还需在控制台安全组添加此端口。
semanage port -a -t ssh_port_t -p tcp 20660
如果semanage未安装,可执行 yum install policycoreutils-python (centos 7) 或 yum install policycoreutils-python-utils (centos 8)
systemctl restart sshd # centos 7/8/almalinux/rocky service sshd restart # centos 6
使用新端口测试远程连接,命令为:
ssh -p 20660 user@服务器ip
sshd_config路径相同:
sudo vim /etc/ssh/sshd_config
找到port,取消注释并设置新端口(如22888)。
如启用ufw:
sudo ufw allow 22888/tcp sudo ufw reload
使用iptables:
sudo iptables -a input -p tcp --dport 22888 -j accept sudo service iptables save sudo service iptables restart
阿里云、腾讯云等同样请配置安全组。
sudo systemctl restart ssh
ssh -p 22888 user@服务器ip 测试远程登录。务必另开窗口尝试。
suse: 同样编辑/etc/ssh/sshd_config,重启服务命令为:
systemctl restart sshd
fedora: 配置、命令结构同almalinux/centos stream。
arch linux: 配置文件还是/etc/ssh/sshd_config,服务管理为 systemctl restart sshd。
80%以上的ssh更改失败案例是因防火墙/安全组忘记同步开放新端口,导致远程连接不上,尤其云主机更为常见。建议严格按照“先开放端口、再重启服务、后测试连接、最后关闭旧端口”流程逐步进行。
排查/var/log/audit/audit.log有无avc denied日志,遇到selinux阻断需用semanage添加新端口。
sshd_config允许配置多行port,同时监听多个端口,适合演练期间主备保底,但长期还是建议只保留一个安全端口。
任意1024-65535段均可,但应避开常用服务端口(如80、443、3306、6379、8080等),推荐如22330、10660、28888等随机高位端口。
指定端口用-p参数,如ssh -p 22233 root@ip,winscp、xshell等也有端口自定义入口。团队多台机器可编辑~/.ssh/config批量优化体验。
passwordauthentication no)。linux系统ssh端口修改,是提升服务器安全和运维规范化建设的关键一环。无论是centos、almalinux、rockylinux,还是ubuntu、debian、suse、fedora、arch等主流或特殊发行版,统一原理都是修改/etc/ssh/sshd_config里的port参数,并同步完成防火墙、安全组、selinux规则调整与测试。运维新手须特别注意操作流程和多窗口自测,避免误操作导致“锁门”。配合非对称秘钥、来源限制、fail2ban等深度安全措施,能有效打造更安全、专业的网上运维环境,极大降低服务器被攻陷和数据泄露的风险。牢记规范、安全与审慎并重,才能让每一次改端口的操作都成为服务器稳定可靠的保障。
以上就是各个版本的linux系统修改远程端口ssh端口的方法的详细内容,更多关于linux ssh默认端口修改方法的资料请关注代码网其它相关文章!
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论