Ubuntu 系统 SSH 远程端口修改指南

Ubuntu 系统 SSH 远程端口修改指南

发布时间:2024-10-03 14:22:13

步骤 1:选择新端口号

  • 选择一个介于 1024 和 65535 之间的端口号。
  • 避免使用已知服务的端口。

步骤 2:编辑 ssh 配置文件

  1. 打开 ssh 配置文件:
     
    sudo nano /etc/ssh/sshd_config
  2. 找到 #port 22 这一行。
  3. 将其更改为 port <您的新端口号>(例如,port 2222)。
  4. 删除行首的 # 以取消注释。
  5. 保存并退出文件(在 nano 中:ctrl+x,然后 y,最后 enter)。

步骤 3:配置防火墙

ubuntu 默认使用 ufw(uncomplicated firewall):

  1. 确保 ufw 已安装:
     
    sudo apt update 
  2. sudo apt install ufw
  3. 配置 ufw 规则:
     
    sudo ufw allow <您的新端口号>/tcp 
  4. sudo ufw delete allow 22/tcp 
  5. sudo ufw enable 
  6. sudo ufw reload

步骤 4:重启 ssh 服务

 
sudo systemctl restart ssh

步骤 5:测试新配置

  1. 不要关闭当前的 ssh 会话。
  2. 在新的终端窗口中,尝试使用新端口连接:
     
    ssh -p <您的新端口号> 用户名@您的服务器ip

步骤 6:更新客户端配置

更新您本地的 ssh 配置文件或 ssh 客户端设置以使用新端口。

步骤 7:禁用旧端口(可选)

确认新端口正常工作后,您可以完全关闭 22 端口:

 
sudo ufw delete allow 22/tcp 
sudo ufw reload

重要注意事项:

  • 在整个过程中保持至少一个活动的 ssh 会话。
  • ubuntu 默认安装并启用 ufw,但可能没有激活。使用 sudo ufw status 检查状态。
  • 如果您使用的是云服务提供商,可能还需要在其控制面板中更新安全组设置。
  • 更新任何可能使用 ssh 的自动化脚本或服务。
  • ubuntu 使用 ssh 服务名而不是 sshd

故障排除

如果遇到问题,可以查看 ssh 日志:

 
sudo tail -f /var/log/auth.log

额外安全措施(可选)

  1. 禁用 root 登录: 在 /etc/ssh/sshd_config 中设置 permitrootlogin no
  2. 使用密钥认证替代密码:
    • 生成密钥对:ssh-keygen -t rsa -b 4096
    • 将公钥复制到服务器:ssh-copy-id -i ~/.ssh/id_rsa.pub -p <新端口号> 用户名@服务器ip
    • 禁用密码认证:在 /etc/ssh/sshd_config 中设置 passwordauthentication no

记得在更改后重启 ssh 服务。

以上是修改ssh远程端口命令,感谢:05互联 提供的技术