服务器测评网
我们一直在努力

修改Linux SSH端口后无法连接怎么办?

在Linux系统中,修改SSH默认端口(22)是提升服务器安全性的基础操作之一,默认端口易受自动化攻击工具扫描,通过更换为非标准端口可显著降低被恶意尝试的风险,以下是修改SSH端口的详细步骤及注意事项,操作过程需谨慎执行,避免因配置错误导致无法远程连接。

修改Linux SSH端口后无法连接怎么办?

修改SSH配置文件

SSH服务的端口配置主要存储在/etc/ssh/sshd_config文件中,使用文本编辑器(如vinano)以root权限打开该文件:

sudo vi /etc/ssh/sshd_config

在文件中找到#Port 22这一行(默认被注释),取消注释并将22修改为目标端口(例如2222,建议选择1024-65535之间的未常用端口,避免与系统服务冲突),若需同时支持多个端口,可新增一行Port 端口号

Port 2222
Port 2223  # 可选:多端口配置

注意:确保新端口未被其他服务占用,可通过netstat -tuln | grep 端口号ss -tuln | grep 端口号检查。

配置防火墙规则

修改端口后,需更新防火墙策略以允许新端口的流量访问,根据系统使用的防火墙工具,执行以下操作:

修改Linux SSH端口后无法连接怎么办?

使用iptables(CentOS 7之前版本)

sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT  # 允许2222端口
sudo iptables -A INPUT -p tcp --dport 2223 -j ACCEPT  # 若配置多端口,需分别添加
sudo service iptables save  # 保存规则

使用firewalld(CentOS 7+/RHEL 7+)

sudo firewall-cmd --permanent --add-port=2222/tcp  # 添加2222端口(永久生效)
sudo firewall-cmd --permanent --add-port=2223/tcp  # 多端口配置
sudo firewall-cmd --reload  # 重新加载防火墙

使用ufw(Ubuntu/Debian)

sudo ufw allow 2222/tcp  # 允许2222端口
sudo ufw allow 2223/tcp  # 多端口配置
sudo ufw reload  # 重启防火墙

重启SSH服务

保存配置文件并退出编辑器后,重启SSH服务使新端口生效:

sudo systemctl restart sshd  # systemd系统(CentOS 7+/Ubuntu 16.04+)
# 或
sudo service ssh restart  # init系统(CentOS 6及以下)

为确保服务正常启动,可检查SSH服务状态:

sudo systemctl status sshd

测试新端口连接

在执行上述操作前,建议保持当前SSH会话开启,避免因配置错误导致无法远程登录,使用新端口通过SSH客户端连接服务器:

ssh -p 2222 username@服务器IP

若连接成功,说明端口修改成功;若失败,需检查防火墙规则、SSH配置文件语法及端口占用情况。

修改Linux SSH端口后无法连接怎么办?

安全加固建议

  1. 避免使用常见端口:如22、3389等易被攻击的端口,建议选择随机高端口。
  2. 限制访问IP:通过防火墙或SSH配置文件(AllowUsersAllowHosts)限制允许连接的客户端IP。
  3. 禁用root登录:在sshd_config中设置PermitRootLogin no,减少安全风险。
  4. 定期检查日志:通过/var/log/auth.log(Ubuntu)或/var/log/secure(CentOS)监控SSH访问记录。

常见问题处理

若修改后无法连接,可能原因包括:

  • 防火墙未开放端口:检查防火墙规则并确保端口已允许。
  • SSH配置语法错误:使用sshd -t测试配置文件语法,修正错误后重启服务。
  • 端口被占用:更换其他端口并重新检查。
  • SELinux启用:若系统开启SELinux,需执行semanage port -a -t ssh_port_t -p tcp 2222添加端口上下文。

通过以上步骤,即可完成Linux SSH端口的修改,操作前务必做好备份,确保在测试环境验证无误后再应用到生产服务器,以维护远程连接的稳定性与安全性。

赞(0)
未经允许不得转载:好主机测评网 » 修改Linux SSH端口后无法连接怎么办?