让我们一起进入神秘的Linux命令行的世界,找出如何限制特定IP进行SSH远程连接。这就像是把云服务器变成一座古老城堡,只有持有特殊通行证的人才能进入。
首要任务在于修改iptables的规则,iptables就像城堡的守卫,负责筛选出那些可以进入城堡的IP。若对iptables的操作不熟悉,别急,我会深入解析的。
让我们布置第一个策略,这需要把其他的IP都阻挡在城堡门口。打开你的命令行,输入以下代码:
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
这就好像是生成一个大屏障,防止所有人通过端口22(SSH默认使用端口22)进入我们的城堡。但是,我们还需要特例让特定IP得以进入。
然后输入下面的代码,假设我们允许的IP是123.123.123.123:
sudo iptables -A INPUT -p tcp --dport 22 -s 123.123.123.123 -j ACCEPT
这条命令为123.123.123.123开了一道特殊通道,可以无阻碍地进入城堡。
接下来我们需要保存iptables的规则,如此即使城堡的大门关闭(服务器重启),这些规则也不会丢失。在不同的Linux发行版中,用来保存iptables规则的命令稍有不同:
- 绝大部分基于Debian的发行版(如Ubuntu),使用下列命令:
sudo sh -c "iptables-save > /etc/iptables.rules"
然后在/etc/network/interfaces文件中加上下列一行:
pre-up iptables-restore < /etc/iptables.rules
- 这一部分用来引导城堡内的住民(系统启动)时恢复iptables的规则。
- Red Hat、CentOS和其他基于Red Hat的Linux发行版使用如下命令:
sudo /sbin/service iptables save
这个命令一键保存iptables的规则,不需要修改文件。
以上的操作就达到了限制特定IP进行SSH远程连接的目标,就像城堡的守卫一样,iptables新的规则只允许持有通行证的IP访问你的云服务器。
温馨提示,修改iptables规则时要格外小心,否则可能导致无法远程访问你的服务器。最好在掌握足够技术知识和理解清楚操作含义之后再进行。另外,在已经配置了防火墙的情况下,例如ufw(Ubuntu Firewall)或firewalld,需要按照相应的防火墙的规则来设置。
没有什么比掌握新技能更激动人心的了,希望你在学习这个技巧的过程中尽享其乐。在你的"城堡"上挥舞新的"守卫",享受Linux带给你的无限可能吧!
云服务器推荐
蓝易云国内/海外高防云服务器推荐
海外免备案云服务器链接:www.tsyvps.com
持有增值电信营业许可证:B1-20222080【资质齐全】
蓝易云香港五网CN2 GIA/GT精品网络服务器。拒绝绕路,拒绝不稳定。