致青春,致梦想,一片自留地

Menu

菜鸟修改linode的默认ssh端口

前言

互联网从来都不乏作恶之人,也不会少喜欢做恶作剧的人,用密码字典暴力扫描破解服务器的人一大堆,最好的方法就是把ssh的默认22端口替换掉。

其实网上关于如何修改默认ssh端口的文章一大堆,但是对于和我一样的linux菜鸟来说,总是会出现各种问题。我猜测的原因是不同的VPS供应商的系统安装会略有不同,因此会造成有些许差异,这些差异对熟悉linux的人来说一点麻烦都没有,但是对于菜鸟来说那杀伤力是惊人的。今天我自己就琢磨了半天,看了好几篇文章之后才拼凑出了完整的步骤。

本文重点参考 https://www.vpser.net/security/centos-debian-ubuntu-linux-change-ssh-port.html ,唯一需要补充的是新端口建议10000以上,至少我使用了2次10000以内的端口都不成功,另外端口不能超过65535。

运行环境

操作步骤

第一步:备份原sshd配置文件

cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup

第二步:修改sshd配置文件

vi /etc/ssh/sshd_config

查找Port 22,有可能 Port 22 是注释的(即前面有#号,有的话删掉 # 号)。

在 Port 22 下面添加一行 Port *****  其中*****为你更改SSH后的端口。操作的方式是按i,进入插入模式,内容填写完毕后先按esc退出编辑模式,然后输入 :w进行保存,然后输入:q退出编辑界面

这里建议先保留原来的22端口,待新的SSH端口测试正常工作后再删掉原Port 22 端口行。

第三步:重启SSH服务器

重启SSH服务器命令:

systemctl restart sshd

查看端口,这个时候应该可以看见修改过的端口显示了

ss -ntl

第四步:防火墙、安全组规则设置

iptables添加SSH新端口规则:

iptables -A INPUT -p tcp --dport ***** -j ACCEPT  #*****替换为新的端口

firewalld添加SSH新端口规则:

firewall-cmd --permanent --zone=public --add-port=*****/tcp             #*****替换为新的端口#
firewall-cmd --reload             #重载firewalld#

备注:如果提示firewalld没有运行,那么就启动服务,并在系统引导时启动该服务

sudo systemctl start firewalld
sudo systemctl enable firewalld

第五步:登陆测试

使用ssh工具,用新的端口号登陆,测试可以正常连接然后再编辑 /etc/ssh/sshd_config 将Port 22 这一行直接删除或这一行前面加 # 注释掉,然后再按前面的命令重启SSHd服务。

— 于 共写了1180个字
— 文内使用到的标签:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注