起因
最近发现外网的服务器上,如果是密码登录ssh是很容易被攻击的,所以就想起了改变ssh端口。
更改ssh端口
改变ssh端口,必须要编辑/etc/ssh/sshd_config,注意哦,是sshd_config不是ssh_config。
思路:先开放两个端口,22是默认的,增加一个新的,不超过65535,比如39850.然后开放防火墙,用新端口重新登录ssh,然后把默认端口关闭。如果直接修改,以防防火墙等设置不好,导致无法登录。
开始:
将#Port 22 注释去掉,因为默认是22端口,配置文件中,这行前面是有注释的。
增加一行 Port 38941变成:
Port 22
Port 39850
保存重启ssh服务:systemctl restart ssh
防火墙放行新端口39850。并重启防火墙
ufw allow 39850/tcp
ufw reload
断开当前ssh连接,重新建立端口39850的连接
进入后修改/etc/ssh/sshd_config
去掉Port 22
重启ssh服务,
修改防火墙规则,去掉22端口开放,reload防火墙。
再次ssh连接22端口试验。
有用吗
是否有用?在服务器上开放的有限端口,比如80/443剩下就是ssh了。服务器上不可能没有ssh。如果用端口扫描估计一下就能猜到这个端口干什么用。如果不能端口扫描,这个还是有用的。当然有人做个程序,把所有端口都暴力一下ssh那也没办法。所以重要的是修改登录规则,全部秘钥登录。