修改服务器ssh端口避免被爆破
一. 前言
刚买的服务器,今天查看了下登录失败日志,一长串都望不到头,统计攻击源IP及次数排序查看了下前20条记录,以及检查异常用户名尝试,可以看到这些人真的是锲而不舍啊。基于此,我决定修改ssh端口为一个不常用的端口避免被爆破。
# 统计高频攻击IP
cat /var/log/auth.log | grep "Failed password" | awk '{print $11}' | sort | uniq -c | sort -nr | head -n 20
# 分析攻击者使用的用户名列表:
cat /var/log/auth.log | grep "Failed password" | awk '{print $9}' | sort | uniq -c | sort -nr | head -n 20
三. 修改ssh端口
开通服务器防火墙
先在云防服务商控制台放开防火墙端口:
备份配置文件
操作前建议备份原始配置以防意外:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
编辑配置文件
使用文本编辑器(如vim
或nano
)打开配置文件:
sudo vim /etc/ssh/sshd_config
找到
#Port 22
这一行,删除开头的#
并修改为新的端口号(例如4345
)。若需保留原端口,可新增一行Port 新端口号
。
Port 22 # 原端口(可选保留)
Port 4345 # 新端口
5. 重启SSH服务
保存文件后,重启服务使配置生效:
sudo systemctl restart sshd
四. 测试新端口链接
保持现有SSH会话
在关闭当前连接前,使用新端口另开一个会话测试,避免配置错误导致失联。ssh -p 2404 user@服务器IP
验证服务状态
检查SSH服务是否监听新端口:sudo netstat -tulnp | grep sshd