Windows命令行执行ssh-add时出现代理连接错误及身份添加矛盾问题
Windows下ssh-add先报错后提示添加成功的解决办法
这个问题核心是执行ssh-add时,SSH代理(ssh-agent)还没启动或者当前命令行窗口没关联到代理进程——虽然最后提示身份添加成功,大概率是命令后台自动补启动了代理,但前期报错是因为执行瞬间代理未就绪。
解决步骤如下:
手动启动并关联ssh-agent
- 打开管理员权限的命令提示符(CMD)或PowerShell,执行:
ssh-agent - 执行后会输出类似下面的内容,把前两行带
export的命令复制下来,在当前窗口粘贴执行:SSH_AUTH_SOCK=/tmp/ssh-XXXXXX/agent.1234; export SSH_AUTH_SOCK;
SSH_AGENT_PID=5678; export SSH_AGENT_PID;
echo Agent pid 5678; - 现在再运行你的密钥添加命令:
这时候就不会再出现连接代理的报错,直接提示身份添加成功。ssh-add C:\Users\User\.ssh\id_rsa_do
- 打开管理员权限的命令提示符(CMD)或PowerShell,执行:
永久解决(可选)
如果不想每次都手动启动代理,设置让它开机自动运行:
打开PowerShell,执行:Set-Service ssh-agent -StartupType Automatic Start-Service ssh-agent之后每次开机代理都会自动启动,直接用
ssh-add就行。
内容的提问来源于stack exchange,提问作者Nursultan_Ashirmatov
相关产品推荐
相关产品推荐

