Linux实例如何限制指定用户或IP地址通过SSH登录

Linux实例如何限制指定用户或IP地址通过SSH登录

更新时间:2019-12-31 16:06:58

免责声明: 本文档可能包含第三方产品信息,该信息仅供参考。阿里云对第三方产品的性能、可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺。

 

概述

本文主要介绍在Linux系统的ECS实例中如何限制用户或IP地址通过SSH登录。

 

详细信息

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

本文对如下两点进行简要概述。

 

限制用户通过SSH登录

编辑/etc/ssh/sshd_config配置文件,增加类似如下的Deny Users选项,拒绝指定用户通过SSH登录。然后重启SSH服务即可。

DenyUsers zhangsan aliyun 
# 拒绝zhangsan、aliyun帐户通过SSH登录系统。

当然,也可以添加类似如下的AllowUsers选项,只允许指定用户通过SSH登录。

提示:配置完成后,需要重启SSH服务。

AllowUsers aliyun test@192.168.1.1 
# 允许aliyun和从192.168.1.1登录的test帐户通过SSH登录系统。

 

限制IP地址通过SSH登录

除了限制某个指定用户通过SSH登录外,还可以针对指定的IP地址进行限制。在Linux实例中分别通过配置/etc/hosts.allow/etc/hosts.deny这两个文件,拒绝或者允许指定的IP及IP地址段通过SSH远程登录服务器。分别介绍如下。

  • 编辑/etc/hosts.allow文件,添加类似如下的内容,只允许指定IP地址通过SSH登录。
    sshd:192.168.1.1:allow #允许192.168.1.1这个IP地址通过SSH登录。
    sshd:192.168.2.1/24:allow #允许192.168.2.1/24这个IP地址段通过SSH登录。
  • 编辑/etc/hosts.deny文件,添加类似如下的内容,拒绝所有IP地址通过SSH登录。
    sshd:ALL # 拒绝全部的SSH登录
  • 同时设置上述两个文件时,hosts.allow文件中规则的优先级更高,参考上述两个文件进行设置时,服务器只允许192.168.1.1这个IP地址以及192.168.2.1/24这个IP地址段通过SSH进行登录,其他的IP都会被拒绝SSH登录。

 

适用于

  • 云服务器 ECS