限制SSH访问仅允许特定IP地址连接是增强Linux服务器安全的重要措施。以下是三种实现方法:
编辑/etc/hosts.allow
文件:
sudo nano /etc/hosts.allow
添加以下内容(将192.168.1.100
替换为允许的IP):
sshd: 192.168.1.100
编辑/etc/hosts.deny
文件:
sudo nano /etc/hosts.deny
添加以下内容:
sshd: ALL
保存后立即生效,无需重启服务。
首先清除现有规则(谨慎操作):
sudo iptables -F
设置默认策略为拒绝所有连接:
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
允许指定IP访问SSH端口(默认22):
sudo iptables -A INPUT -p tcp -s 192.168.1.100 --dport 22 -j ACCEPT
保存规则(根据发行版不同):
bash
sudo iptables-save > /etc/iptables.rules
bash
sudo service iptables save
编辑SSH配置文件:
sudo nano /etc/ssh/sshd_config
在文件末尾添加(将IP替换为允许的地址):
AllowUsers *@192.168.1.100
或者允许多个IP:
AllowUsers *@192.168.1.100 *@192.168.1.101
也可以使用CIDR表示法允许整个子网:
AllowUsers *@192.168.1.0/24
重启SSH服务使更改生效:
sudo systemctl restart sshd
# 或旧版系统使用
sudo service ssh restart
/var/log/auth.log
或/var/log/secure
中的SSH访问尝试通过以上方法,您可以有效减少SSH服务的攻击面,提高服务器安全性。