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

SSH连接报错求助:Permission denied (publickey)及连接重置问题

咱们来一步步捋你遇到的这两个SSH连接问题,都是日常运维里常碰到的情况:

第一个报错:Permission denied (publickey)

这个报错的核心是服务器拒绝了你的身份认证请求,常见原因有这些:

  • 服务器禁用了密码登录,只允许公钥认证:不少服务器为了加固安全,会关掉密码登录选项。如果你的本地公钥没上传到服务器的~/.ssh/authorized_keys文件里,就会被直接拒绝。
  • 本地SSH配置强制优先用公钥:你的~/.ssh/config文件里,可能针对这个服务器设置了默认用公钥认证,但你要么没有对应的私钥,要么私钥的权限不对。
  • 密钥文件权限不符合要求:本地私钥(通常是id_rsa)的权限必须设为600,服务器端的authorized_keys权限得是600,.ssh目录权限要设为700——权限太宽松的话,SSH会直接判定密钥不安全,拒绝使用。
  • 公钥未正确上传到服务器:可能你之前没传过公钥,或者上传时路径写错了(比如传到了其他用户的目录下)。
第二个报错:ssh_exchange_identification: read: Connection reset by peer

添加端口后出现这个报错,说明连接根本没走到认证环节就被断开了,常见原因:

  • 指定的端口不对:服务器的SSH服务根本没在你指定的这个端口上监听,自然会重置连接。
  • 防火墙拦截:不管是服务器端的防火墙(比如ufw、iptables)还是你本地的防火墙,都可能把这个端口的连接请求给拦截了,导致连接中途断开。
  • SSH服务异常:服务器上的SSH服务可能没启动、配置错了监听端口,甚至已经崩溃了,没法正常响应你的连接请求。
  • 网络链路问题:你的网络到服务器之间的路由出了问题,或者服务器所在的主机本身有网络故障,导致连接被重置。
快速排查建议
  • 先确认SSH服务的正确端口:找服务器管理员确认,或者如果之前成功连接过,查本地~/.ssh/config里的配置。
  • 修复公钥认证问题:如果还没生成密钥,先在本地执行ssh-keygen生成;然后用ssh-copy-id -p 正确端口 username@ipaddress把公钥传到服务器。
  • 修正密钥权限:本地执行chmod 600 ~/.ssh/id_rsa,服务器端执行chmod 700 ~/.ssh和chmod 600 ~/.ssh/authorized_keys。
  • 检查防火墙设置:服务器端用ufw status(或者iptables -L)确认指定端口是允许的;本地也检查下自己的防火墙有没有拦截这个端口的出站请求。
  • 验证SSH服务状态:服务器端执行systemctl status sshd(部分系统是systemctl status ssh),看服务是否正常运行,监听的端口是否正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:07:46