在linux中,默认的SSH端口号为22,由于这是咱们都知道的端口号,一旦有入侵者进行端口扫描的时候扫描出22端口,就立马知道这是进行SSH登录的端口号,因而咱们需要修改默认的端口号。
](https://www.8kiz.cn/usr/uploads/2023/01/3811448885.png)
SSH
云服务器一到手,第一件事就是更改ssh端口,防止被扫描破解。
修改端口号是通过修改SSH的配置文件实现的,登录ssh后,输入:
vi /etc/ssh/sshd_config
向下找到#Port 22这段
SSH端口修改
键盘上按一下 i 进入编辑模式
删除掉Port 22前面的#,然后键盘按一下回车键【如果没有#可不必删除,直接下一步】
输入新的端口号如:Port 10000 (这个你自己定,最大不能超过65535)
编辑好,先按ESC键,再输入 wq 保存退出.
接着重新启动ssh,代码如下:
systemctl restart sshd.service #删除或新增都需重启SSH服务,否则不生效。
然后再使用已修改的端口登录 【教程演示的是10000端口】 ,看是否可以连接成功,连接成功后在删除22端口.
不过在这有一个问题,一般的linux服务器都有自带的防火墙iptables规则,把端口10000 在规则中设置备放行。
【如果没有使用iptables,请在服务商安全组放行你修改的端口号】蓝易云安全组默认端口全开
如果安装了宝塔面板请在:宝塔-安全-系统防火墙,放行一下端口。否则无法使用
iptables -I INPUT -p tcp --dport 10000 -j ACCEPT
参数 -I 是把上面那条规则插入到iptables规则的最前面,然后删除ssh默认的22端口,保存规则,重启防火墙,到此大功告成。
下面说一下,怎么删除iptables规则,有时候有些规则太长,删除时要写一大串,既浪费时间又容易写错,这时我们可以先使用–line-number查看出该条规则的行号,再通过行号删除,代码如下:
[root@test ~]# iptables -nL --line-number Chain INPUT (policy ACCEPT) num target prot opt source destination 1 DROP all -- 192.168.1.1 0.0.0.0/0 2 DROP all -- 192.168.1.2 0.0.0.0/0 3 DROP all -- 192.168.1.3 0.0.0.0/0
比如删除第二条规则,输入 :
[root@test ~]# iptables -D INPUT 2