在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登錄,提高系統的安全性。