修改服务器ssh端口避免被爆破

15

一. 前言

刚买的服务器,今天查看了下登录失败日志,一长串都望不到头,统计攻击源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端口

  1. 开通服务器防火墙
    先在云防服务商控制台放开防火墙端口:

  1. 备份配置文件
    操作前建议备份原始配置以防意外:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
  1. 编辑配置文件
    使用文本编辑器(如vimnano)打开配置文件:

sudo vim /etc/ssh/sshd_config
  1. 找到 #Port 22 这一行,删除开头的 # 并修改为新的端口号(例如 4345)。若需保留原端口,可新增一行 Port 新端口号

Port 22 # 原端口(可选保留) 
Port 4345 # 新端口

5‌. 重启SSH服务
保存文件后,重启服务使配置生效:

sudo systemctl restart sshd

四. 测试新端口链接

  1. 保持现有SSH会话
    在关闭当前连接前,使用新端口另开一个会话测试,避免配置错误导致失联。

    ssh -p 2404 user@服务器IP
  2. 验证服务状态
    检查SSH服务是否监听新端口:

    sudo netstat -tulnp | grep sshd