文档首页> 弹性云服务器 ECS> 常见问题> 登录与连接> 远程连接类> 修改Linux弹性云服务器的默认SSH端口后,使用新端口无法登录?
更新时间:2023-09-28 GMT+08:00

修改Linux弹性云服务器的默认SSH端口后,使用新端口无法登录?

问题现象

修改默认的SSH端口后,无法使用新的端口登录云服务器

可能原因

  • 安全组未放通新的端口。
  • 防火墙未放通新的端口。
  • ssh配置文件中未添加新的端口信息。
  • hosts文件配置错误。

检查安全组规则

检查安全组是否设置正确。

以新的SSH端口号为2020为例,安全组规则在确保“出方向”Any、Any的情况下,“入方向”需要放通2020端口。

检查防火墙规则

检查iptables防火墙是否放通新的SSH端口,以2020端口为例。
  1. 登录Linux弹性云服务器
  2. 以CentOS 7.5操作系统为例,执行以下命令编辑iptables文件。

    vi /etc/sysconfig/iptables

  3. 添加2020端口规则
    -A INPUT -m state -state NEW -m tcp -p tcp -dport 2020 -j ACCEPT
  4. 修改完成后重启iptables服务。

    systemctl restart iptables

检查ssh配置文件

登录弹性云服务器检查ssh配置文件。
  1. 执行如下命令,查看是否配置了 Port 2020。

    vi /etc/ssh/sshd_config

  2. 如未配置,请将“#Port 22”替换为“Port 2020”。
  3. 执行如下命令,重启ssh服务。

    service sshd restart

检查hosts配置文件

Linux 服务器通过设置 /etc/hosts.allow 和 /etc/hosts.deny 这个两个文件,可以限制或者允许某个或者某段IP地址远程SSH登录服务器。
  1. 检查/etc/hosts.allow,允许192.168.1.3 这个IP地址ssh登录,添加如下行:
    sshd: 192.168.1.3
  2. 检查/etc/hosts.deny,如果存在sshd:all:deny,请注释掉该行。

    hosts.allow 和hosts.deny 两个文件同时设置规则的时候,hosts.allow 文件中的规则优先级高。假设hosts.allow设置sshd: 192.168.1.3,hosts.deny设置了sshd:all:deny,那么云服务器只允许192.168.1.3这个IP地址的SSH登录,其它的 IP 都会拒绝。