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

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

发布时间:2024-10-03 14:17:32

步骤 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:配置防火墙

debian 默认不安装防火墙。如果您使用 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

如果您使用 iptables:

 
sudo iptables -a input -p tcp --dport <您的新端口号> -j accept 
sudo iptables -d input -p tcp --dport 22 -j accept 
sudo iptables-save > /etc/iptables/rules.v4

步骤 4:重启 ssh 服务

 
sudo systemctl restart ssh

步骤 5:测试新配置

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

步骤 6:更新客户端配置

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

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

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

对于 ufw:

 
sudo ufw delete allow 22/tcp 
sudo ufw reload

对于 iptables:

 
sudo iptables -d input -p tcp --dport 22 -j accept 
sudo iptables-save > /etc/iptables/rules.v4

重要注意事项:

  • 在整个过程中保持至少一个活动的 ssh 会话。
  • debian 默认不安装防火墙,但强烈建议使用防火墙来增强安全性。
  • 如果您使用的是云服务提供商,可能还需要在其控制面板中更新安全组设置。
  • 更新任何可能使用 ssh 的自动化脚本或服务。
  • debian 使用 ssh 服务名而不是 sshd

故障排除

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

sudo tail -f /var/log/auth.log
 
以上是所有操作命令。感谢:05互联