在CentOS上限制SSH登录可以通过多种方法实现,以下是一些常见的方法:
sshd_config 文件编辑 /etc/ssh/sshd_config 文件来配置SSH服务器的行为。
在 sshd_config 文件中添加或修改以下行:
AllowUsers user1@192.168.1.1 user2@192.168.1.2
这会限制 user1 只能从 192.168.1.1 访问,user2 只能从 192.168.1.2 访问。
在 sshd_config 文件中添加或修改以下行:
AllowUsers user1 user2
这会限制只有 user1 和 user2 可以登录。
在 sshd_config 文件中添加或修改以下行:
PermitRootLogin no
这会禁止root用户通过SSH远程登录。
你可以使用 firewalld 或 iptables 来限制特定IP地址的访问。
firewalld安装并启用 firewalld:
sudo yum install firewalld
sudo systemctl start firewalld
sudo systemctl enable firewalld
然后添加规则来允许特定IP地址访问SSH端口(默认是22):
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="22" accept'
sudo firewall-cmd --reload
iptables安装 iptables:
sudo yum install iptables-services
sudo systemctl start iptables
sudo systemctl enable iptables
然后添加规则来允许特定IP地址访问SSH端口:
sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.1 -j ACCEPT
sudo service iptables save
你可以使用PAM(Pluggable Authentication Modules)来进一步限制SSH登录。
pam_access安装 pam_access:
sudo yum install pam_access
pam_access编辑 /etc/security/access.conf 文件,添加以下行来限制特定IP地址或用户:
- : ALL EXCEPT 192.168.1.1 : ALL
这会拒绝所有IP地址,除了 192.168.1.1。
编辑 /etc/pam.d/sshd 文件,添加以下行来启用 pam_access:
account required pam_access.so
Fail2Ban可以监控日志文件并根据规则禁止恶意IP地址。
安装Fail2Ban:
sudo yum install fail2ban
编辑 /etc/fail2ban/jail.local 文件,添加以下内容来配置Fail2Ban:
[sshd]
enabled = true
port = sshd
filter = sshd
logpath = /var/log/secure
maxretry = 3
bantime = 600
然后启动Fail2Ban服务:
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
通过以上方法,你可以有效地限制SSH登录,提高系统的安全性。