温馨提示×

Debian SSH端口修改步骤是什么

小樊
31
2025-12-30 11:39:59
栏目: 智能运维

Debian 修改 SSH 端口步骤

一 准备与检查

  • 确认已安装并运行 SSH 服务;如未安装,先执行:sudo apt update && sudo apt install openssh-server;启动并设置开机自启:sudo systemctl start ssh;sudo systemctl enable ssh;检查状态:sudo systemctl status ssh。如系统启用防火墙(如 ufw),先确认当前策略:sudo ufw status。以上确保修改端口后能正常连通与回滚。

二 修改配置文件

  • 编辑服务端配置文件:sudo nano /etc/ssh/sshd_config。找到或添加端口配置项:Port 22(保留或注释),并在下一行新增自定义端口,例如 Port 2222(示例为 10022)。若需同时监听多个端口,可并列多行 Port 指令。注意:仅修改 sshd_config 即可,客户端配置文件 /etc/ssh/ssh_config 一般不需要改动。保存退出。

三 配置防火墙放行新端口

  • 根据你使用的防火墙放行新端口(示例端口:10022):
    • ufw:sudo ufw allow 10022/tcp;如需替换默认 22,可先 sudo ufw allow 22/tcp,验证新端口可用后再 sudo ufw delete allow 22/tcp
    • nftables:sudo nft add rule inet filter input tcp dport 10022 accept(持久化请写入 /etc/nftables.conf 或相应规则文件并按需启用 nftables 服务)。
    • 若使用 iptables:sudo iptables -A INPUT -p tcp --dport 10022 -j ACCEPT;持久化:iptables-save > /etc/iptables.up.rules(按你的系统保存方式执行)。以上确保新端口在防火墙层面已开放。

四 重启服务并验证

  • 语法检查配置是否正确:sudo sshd -t。无误后重启 SSH 服务:sudo systemctl restart ssh。另开一个终端测试新端口连通:ssh -p 10022 user@host;同时确认旧端口(如 22)是否仍可达(如仍保留)。如需回滚,恢复 sshd_config 并重启服务即可。

五 常见问题与建议

  • 远程修改时避免锁死:先同时保留 Port 22 与新端口(如 Port 22 与 Port 2222),在新端口验证成功后再注释或删除 Port 22
  • 客户端便捷连接:在本机 ~/.ssh/config 增加条目(示例):Host myserver;HostName your_ip;User your_user;Port 10022,之后可直接 ssh myserver。
  • 服务名差异:Debian 中 SSH 服务单元通常为 ssh.service(而非某些发行版的 sshd.service),请使用 sudo systemctl restart ssh
  • 日志与排错:查看服务日志 sudo journalctl -u ssh;若连接异常,核对防火墙、云安全组/本机安全策略、SELinux/AppArmor 是否限制该端口。
  • 安全建议:更改端口只是“安全通过 obscurity”,建议同时启用密钥登录、禁用 root 远程登录(PermitRootLogin no)、限制失败登录(如 MaxAuthTries、Fail2ban)。

0