Skip to content

更改默认 SSH 端口

默认情况下,SSH 连接使用端口 22。许多黑客会自动扫描此端口,试图入侵服务器。将端口更改为其他端口(例如 2222)可以使您的服务器更隐蔽,更难成为攻击目标。

以下是如何安全执行此操作的逐步指南。

  1. 确保所选端口未被占用

    在使用新端口之前,请验证它是否未被其他应用程序使用。例如,如果您想使用端口 2222,请运行以下命令:

    ss -tnlp | grep '2222'
    

    如果命令没有返回任何输出,则说明该端口空闲,您可以使用它。

  2. 更改 SSH 设置

    打开 SSH 配置文件:

    sudo nano /etc/ssh/sshd_config
    

    找到以下行:

    #Port 22
    

    删除行首的 #(这将取消注释),并将 22 替换为您的新端口,例如:

    Port 2222
    

    保存文件并关闭编辑器(在 nano 中 — Ctrl+OEnter,然后 Ctrl+X)。

  3. 重启 SSH

    要应用更改,请重启 SSH 服务。命令取决于您的系统:

    • Debian, Ubuntu (excluding 24.04):
    sudo systemctl restart ssh
    
    • Ubuntu 24.04:
    sudo systemctl daemon-reload
    sudo systemctl restart ssh.socket
    
    • CentOS, Rocky Linux, and other RHEL-based distributions:
    sudo systemctl restart sshd
    
  4. 验证 SSH 是否正在监听新端口

    运行与开始时相同的命令:

    ss -tnlp | grep '2222'
    

    如果一切正常,您将看到一行包含 sshd 的内容,表明服务现在正在监听新端口。

  5. 在防火墙中打开端口

    如果您的防火墙已启用(例如 UFW),您需要允许连接到新端口:

    sudo ufw allow 2222/tcp
    sudo ufw reload
    

    (将 2222 替换为您的端口。)

  6. 使用新端口连接到服务器

    现在,连接时必须手动指定端口:

    ssh -p 2222 username@ip_address
    
    • 2222 — 您的新端口
    • username — 服务器上的用户名
    • ip_address — 服务器的 IP 地址

注意

在确认新连接有效之前,请勿关闭当前的 SSH 会话。否则,您可能会失去对服务器的访问权限。

question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×