Won*_*Hau 67 linux ssh ssh-agent
ssh-add
单独不起作用:
Error connecting to agent: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我应该如何使用该工具?
Pan*_*nki 67
您需要先初始化代理。
您可以通过多种方式执行此操作。要么通过启动一个新的shell
ssh-agent bash
Run Code Online (Sandbox Code Playgroud)
或者通过评估ssh-agent
当前 shell 中返回的变量。
eval "$(ssh-agent)"
Run Code Online (Sandbox Code Playgroud)
我建议使用第二种方法,因为您保留了所有历史记录和变量。
Kus*_*nda 30
SSH 代理未运行,或者它设置的环境变量在当前环境中不可用(最重要的是SSH_AUTH_SOCK
),或者它们设置不正确(指向死代理)。
您可以使用以下命令在当前 shell 会话中启动代理
eval "$(ssh-agent)"
Run Code Online (Sandbox Code Playgroud)
或使用
ssh-agent fish
Run Code Online (Sandbox Code Playgroud)
(替换fish
为您正在使用的任何外壳)。但是既然你说你曾经可以在ssh-add
没有这个的情况下使用,这让我相信你不小心杀死了代理(或者它由于其他原因而终止)。错误消息让我认为SSH_AUTH_SOCK
环境变量实际上已设置,但ssh-add
在该路径上找不到有效的通信套接字。
如果您完全注销并重新登录或重新启动机器,您通常的做事方式是否会再次起作用,我不会感到惊讶。
小智 24
在 Windows PowerShell 中(以管理员身份运行):
检查ssh-agent的当前状态:
Get-Service | ?{$_.Name -like '*ssh-agent*'} | select -Property Name, StartType, Status
如果服务被禁用,请启用该服务:
Set-Service -Name ssh-agent -StartupType Manual
启动服务:
Start-Service ssh-agent
像以前一样添加您的密钥:
ssh-add <path to the key>