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)。