
# 怎样设置允许或禁止用户/IP通过SSH方式连接云服务器
#### 操作场景
本节操作指导用户设置允许或禁止用户/IP通过SSH方式连接云服务器。
#### 约束与限制
- 已安装Denyhosts插件。
- 该文档中操作涉及重启sshd服务，请在合理的时间进行操作。
 
#### 方法一：通过编辑sshd配置文件实现允许或者禁止指定用户/用户组或者IP登录
1. 允许指定用户进行登录（白名单） 在/etc/ssh/sshd_config 配置文件中设置AllowUsers选项，在配置文件末尾添加行格式如下（例如允许用户test通过192.168.1.2登录）。
   ```
   AllowUsers test@192.168.1.2
   ```
   ![](https://support.huaweicloud.com/trouble-ecs/public_sys-resources/note_3.0-zh-cn.png)
   配置了指定用户或者用户组允许登录后，默认拒绝其他所有用户或者用户组。
   
2. 禁止指定用户登录（黑名单） 在 /etc/ssh/sshd_config 配置文件中设置DenyUsers选项，在配置文件末尾添加行格式如下（例如禁止用户testuser登录）。
   ```
   DenyUsers testuser
   ```
   上述修改需要重启sshd服务。
   CentOS 6系列执行以下命令进行重启：
   **service sshd restart**
   Centos 7/EulerOS系列执行以下命令进行重启：
   **systemctl restart sshd**
   
 
#### 方法二：使用DenyHosts允许或者禁止指定IP通过SSH登录
linux 服务器通过设置 /etc/hosts.allow 和 /etc/hosts.deny 这个两个文件，可以限制或者允许某个或者某段IP地址远程SSH登录服务器.方法比较简单，具体如下：
1. 允许192.168.1.3 这个IP地址ssh登录，打开/etc/hosts.allow，添加如下行：
   ```
   sshd: 192.168.1.3
   ```
   
2. 禁止所有ip通过ssh登录，打开/etc/hosts.deny，添加如下行：
   ```
   sshd: ALL
   ```
   ![](https://support.huaweicloud.com/trouble-ecs/public_sys-resources/note_3.0-zh-cn.png)
   hosts.allow 和hosts.deny 两个文件同时设置规则的时候，hosts.allow 文件中的规则优先级高，假设按照上述方法设置后服务器只允许192.168.1.3这个IP地址的SSH登录，其它的 IP 都会拒绝。
   
 
