文档首页/ 弹性云服务器 ECS/ 故障排除/ SSH连接/ 怎样设置允许或禁止用户/IP通过SSH方式连接云服务器
更新时间:2024-05-21 GMT+08:00
分享

怎样设置允许或禁止用户/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

    配置了指定用户或者用户组允许登录后,默认拒绝其他所有用户或者用户组。

  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

    hosts.allow 和hosts.deny 两个文件同时设置规则的时候,hosts.allow 文件中的规则优先级高,假设按照上述方法设置后服务器只允许192.168.1.3这个IP地址的SSH登录,其它的 IP 都会拒绝。

相关文档