CentOS如何限制SSH登录IP?
CentOS系统下如何限制SSH登录IP,提升服务器安全性
在咱们日常运维CentOS服务器的时候,SSH登录可是个大事儿,毕竟它是远程管理服务器的“大门”,但你想过没有,如果这扇“大门”对谁都敞开,那服务器可就危险了,限制SSH登录IP,就成了咱们提升服务器安全性的一个重要手段,我就来跟大家聊聊,在CentOS系统下,怎么限制SSH登录IP。

咱们得明白为啥要限制SSH登录IP,你想啊,服务器上存着咱们的重要数据,要是被不怀好意的人通过SSH登录进去,那后果可就不堪设想了,限制SSH登录IP,就像是给服务器加了一把锁,只有咱们信任的IP地址才能打开这扇“大门”,这样一来,服务器的安全性就大大提高了。
具体怎么操作呢?别急,我这就给大家一步步说清楚。
第一步,咱们得找到SSH的配置文件,在CentOS系统里,这个文件通常位于/etc/ssh/sshd_config
,咱们得用root权限去编辑这个文件,所以得先切换到root用户,或者用sudo
命令来编辑。
第二步,打开配置文件后,咱们得找到AllowUsers
或者AllowGroups
这两个选项,更直接的办法是使用DenyUsers
和AllowUsers
组合,或者更灵活地使用Match
块来限制,但为了简单起见,咱们这次就用AllowUsers
来举例,在这个选项后面,咱们可以加上允许登录的SSH用户名和对应的IP地址,比如AllowUsers user1@192.168.1.100
,这样就只允许user1
这个用户从168.1.100
这个IP地址登录了。
如果你有多个用户或者多个IP地址需要允许登录,那就用空格隔开,比如AllowUsers user1@192.168.1.100 user2@192.168.1.101
。

第三步,编辑完配置文件后,咱们得重启SSH服务,让新的配置生效,在CentOS系统里,可以用systemctl restart sshd
这个命令来重启SSH服务。
除了直接在配置文件里指定允许登录的IP地址,咱们还可以用防火墙来进一步限制,用iptables
或者firewalld
来设置规则,只允许特定IP地址访问SSH端口(默认是22端口),这样,就算有人知道了SSH的用户名和密码,如果IP地址不对,也登录不进去。
举个例子,如果你用的是firewalld
,可以用firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'
这个命令来允许168.1.100
这个IP地址访问SSH端口,别忘了用firewall-cmd --reload
来重新加载防火墙规则。
限制SSH登录IP是个提升服务器安全性的好办法,咱们可以根据自己的需求,选择合适的方法来设置,设置的时候可得小心点儿,别把自己给锁在外面了,设置完后,最好测试一下,确保配置生效,而且自己还能正常登录,这样,咱们的服务器就更加安全了。