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

Linux环境下SSH认证代理连接失败问题求助(Git/GitHub配置)

解决SSH认证代理连接失败及密钥找不到问题
  • 绝对不要用sudo执行ssh-add:sudo会切换到root的环境变量,既找不到你当前用户的SSH代理,也找不到普通用户目录下的密钥文件,完全没必要用sudo。
  • 正确启动并关联ssh-agent:
    直接执行这条命令,它会自动启动代理并设置好所需的环境变量:
    eval "$(ssh-agent -s)"
    
    执行完可以用echo $SSH_AUTH_SOCK确认输出了一串路径,说明环境变量已经生效。
  • 明确指定密钥路径:
    你看到密钥文件存在但ssh-add提示找不到,大概率是没写全路径。比如密钥在当前目录,就执行:
    ssh-add ./testkey
    
    如果密钥在~/.ssh目录下,就用绝对路径:
    ssh-add ~/.ssh/testkey
    
    另外要确保密钥文件权限正确,执行chmod 600 testkey把权限改成600,权限太宽会被ssh拒绝加载。
  • 别用root用户操作:
    GitHub SSH连接不需要root权限,用你平时的普通用户配置就行,切换root会导致环境和文件路径都不对,徒增麻烦。
  • 重置终端重试:
    要是之前的代理进程残留出问题,直接关闭当前终端,重新打开后再执行上面的启动代理和添加密钥命令,大概率能解决环境变量混乱的问题。
  • 验证配置:
    最后执行ssh -T git@github.com,如果输出类似Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.的内容,就说明配置成功了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 16:50:26