You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OS X环境下修改VPS SSH配置后无法连接,请求技术排查

解决SSH连接VPS失败的问题

先把你的操作背景和调试信息整理清楚:
你之前修改了VPS的/etc/ssh/sshd_config,更换了SSH端口并设置PasswordAuthentication no,之后在OS X终端执行连接命令后出现了连接中断的情况,调试输出如下:

$ ssh -vp xxxx root@xx.xxx.xxx.xx
OpenSSH_6.9p1, LibreSSL 2.1.8
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 20: Applying options for *
debug1: /etc/ssh/ssh_config line 53: Applying options for *
debug1: Connecting to xx.xxx.xxx.xx [xx.xxx.xxx.xx] port xxxx.
debug1: Connection establ...

从你的操作和输出来看,问题大概率出在端口未开放或者密钥认证配置缺失上,我给你一步步排查解决的方案:

1. 先确认目标端口是否可达

你更换了SSH端口为xxxx,首先要确保这个端口在VPS和云服务商层面都被放行:

  • 本地用nc -zv xx.xxx.xxx.xx xxxx或者telnet xx.xxx.xxx.xx xxxx测试端口连通性,如果提示Connection refused或者超时,说明端口没开:
    • 登录VPS的Web控制台(比如云服务商提供的实例终端),检查防火墙规则:
      • Ubuntu/Debian系统执行ufw status,CentOS/RHEL系统执行firewall-cmd --list-ports,查看是否开放了xxxx/tcp端口;没开的话添加规则:ufw allow xxxx/tcp或者firewall-cmd --add-port=xxxx/tcp --permanent && firewall-cmd --reload
      • 还要检查云服务商的安全组规则,确保入方向允许xxxx/tcp端口的流量通过

2. 修复密钥认证配置(因为你关闭了密码登录)

你设置了PasswordAuthentication no,意味着必须用SSH密钥登录,如果之前没把本地公钥传到VPS的~/.ssh/authorized_keys里,肯定连不上:

  • 先通过Web控制台登录VPS,临时开启密码登录:
    1. 编辑/etc/ssh/sshd_config,把PasswordAuthentication no改成PasswordAuthentication yes
    2. 重启SSH服务:systemctl restart sshd(systemd系统)或者service ssh restart(老版本系统)
  • 本地重新用密码连接:ssh -p xxxx root@xx.xxx.xxx.xx,登录成功后,把本地公钥传到VPS:
    • 本地执行ssh-copy-id -p xxxx root@xx.xxx.xxx.xx(如果没有这个命令,就手动复制~/.ssh/id_rsa.pub的内容到VPS的~/.ssh/authorized_keys里,注意把文件权限设为600:chmod 600 ~/.ssh/authorized_keys)
  • 确认密钥可以正常登录后,再把PasswordAuthentication改回no,重启SSH服务

3. 检查SSH服务的状态和配置合法性

如果端口和密钥都没问题,就检查SSH服务本身:

  • 在VPS上执行sshd -t,验证配置文件是否有语法错误,如果有错误会直接提示,比如端口号是否在1-65535范围内,有没有拼写错误的配置项
  • 查看SSH服务日志:journalctl -u sshd(systemd系统)或者cat /var/log/auth.log(Debian/Ubuntu),看有没有连接失败的具体错误信息,比如“Failed publickey for root from ...”这类提示,能帮你精准定位密钥问题

4. 本地SSH配置排查

偶尔本地的SSH配置也会出问题,你可以尝试跳过本地配置的影响:

  • 执行ssh -F /dev/null -vp xxxx root@xx.xxx.xxx.xx,用空配置文件连接,看看是否能正常建立连接;如果可以,说明本地/etc/ssh/ssh_config里有冲突的配置项,需要检查修改

内容的提问来源于stack exchange,提问作者user163831

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:16:19