
# 修改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，请注释掉该行。
   ![](https://support.huaweicloud.com/ecs_faq/public_sys-resources/note_3.0-zh-cn.png)
   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 都会拒绝。
   
 
