要限制CentOS SSH访问权限,您可以采取以下措施:
更改默认SSH端口:
编辑/etc/ssh/sshd_config
文件,找到#Port 22
这一行,取消注释并更改端口号。例如,将其更改为Port 2222
。然后重启SSH服务:sudo systemctl restart sshd
。
禁用root登录:
在/etc/ssh/sshd_config
文件中,找到PermitRootLogin
这一行,将其值更改为no
。这将禁止root用户通过SSH登录。然后重启SSH服务:sudo systemctl restart sshd
。
使用防火墙限制IP访问: 如果您使用的是firewalld,可以通过以下命令限制允许访问SSH的IP地址范围:
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="22" accept'
sudo firewall-cmd --reload
将192.168.1.0/24
替换为您希望允许访问SSH的IP地址范围。
如果您使用的是iptables,可以通过以下命令限制允许访问SSH的IP地址范围:
sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT
sudo service iptables save
将192.168.1.0/24
替换为您希望允许访问SSH的IP地址范围。
使用公钥认证:
在客户端生成SSH密钥对,然后将公钥添加到服务器的~/.ssh/authorized_keys
文件中。这将允许使用私钥进行身份验证,而不是密码。这样可以提高安全性并减少暴力破解的风险。
限制用户访问:
在/etc/ssh/sshd_config
文件中,找到AllowUsers
这一行,指定允许通过SSH登录的用户。例如:AllowUsers user1 user2
。然后重启SSH服务:sudo systemctl restart sshd
。
使用Fail2ban限制登录尝试:
Fail2ban是一个用于防止暴力破解的工具。您可以安装并配置Fail2ban来限制失败的登录尝试。首先安装Fail2ban:sudo yum install fail2ban
。然后创建一个新的配置文件/etc/fail2ban/jail.local
,并根据需要配置规则。最后启动Fail2ban服务:sudo systemctl start fail2ban
。
通过采取这些措施,您可以有效地限制CentOS SSH访问权限,提高系统的安全性。