有没有办法设置禁止其他 IP 地址登陆 SSH?
今天使用 SSH 连接服务器的时候发现下面这个提示,想问一下有没有办法设置禁止其他 IP 地址登陆 SSH ? 还有怎么禁止 root 用户远程登录呢
Last failed login: Thu Dec 10 20:36:22 CST 2020 from 57.137.123.75 on ssh:nottyThere were 6659 failed login attempts since the last successful login.Last login: Thu Dec 10 21:12:55 2020 from 18.166.55.123
限制 SSH 登录 IP 地址
# 添加允许访问的 IPecho "sshd: 115.183.13.130" >> /etc/hosts.allow# 禁止其它的所有 IPecho "sshd: ALL" >> /etc/hosts.deny
禁止 root 用户远程登录
# 添加普通用户 kongrenuseradd kongrenpasswd kongren# 禁止 root 远程 SSH 登录/etc/ssh/sshd_config | sudo sed 's/^.*PermitRootLogin no/PermitRootLogin yes/g'# 重启 sshd 服务service sshd restart
Joker 2020-12-13 82104010 谢谢,已经解决
建议设置私钥登录,如果需要密码认证向公网开放可以配置一下Fail2ban
也可以新建一个用户加入sudo权限组,在/etc/ssh/sshd_config中把PermitRootLogin设置为no,如果是改为私钥的话可以用without-password
反正两个方向,一是设置规则ban掉异常请求,二是提高认证门槛,换子账户或者私钥认证
Joker 2020-12-13 82104010谢谢解答
参见https://www.cnblogs.com/xiaochina/p/5920057.html
Joker 2020-12-13 82104010这个只是禁止其他 IP 地址登陆 SSH,没有禁止 root 用户登录。
可以指定IP白名单
可以,设置只允许指定用户进行登录(白名单):在 /etc/ssh/sshd_config 配置文件中设置 AllowUsers 选项;
除了可以禁止某个用户登录,我们还可以针对固定的IP进行禁止登录,linux 服务器通过设置 /etc/hosts.allow 和 /etc/hosts.deny 这个两个文件,hosts.allow许可大于hosts.deny可以限制或者允许某个或者某段IP地址远程 SSH 登录服务器
补充:vim /etc/hosts.allow,hosts.allow 和hosts.deny 两个文件同时设置规则的时候,hosts.allow 文件中的规则优先级高,按照此方法设置后服务器只允许某个 IP 地址的 ssh 登录,其它的 IP 都会拒绝。
kongren 2020-12-13@CaptainFrank 对,就这样配置
Joker 2020-12-13 82104010@CaptainFrank 好的
配置安全组指定ip接入
Joker 2020-12-13 82104010安全组是什么
小李飞刀 2020-12-14例如配置22端口指定某些ip或者ip端内可以访问等等 这些都是安全组策略
小李飞刀 2020-12-14@u105
例如配置22端口指定某些ip或者ip端内可以访问等等 这些都是安全组策略
设置 sshd 的 hosts 列表即可
可以的 安全组配置