`ssh-添加` 不会将我的密钥添加到代理

`ssh-添加` 不会将我的密钥添加到代理

我启动一个新的 shell(新的终端窗口),然后我运行的所有命令如下:

user@host :~ $ eval "$(ssh-agent -s)"
Agent pid 1413341
user@host :~ $ ssh-add -vvv ~/.ssh/keys/<mykey>
Enter passphrase for /home/mate/.ssh/keys/<mykey>: 
user@host :~ $ ssh-add -l
The agent has no identities.

ssh-add不返回任何输出,但经过验证后,返回错误代码1(tried ssh-add ...again then echo $?)。但是,它实际上并没有在 stderr 上打印任何输出。

该命令后,环境变量 $SSH_AGENT_PID 和 $SSH_AUTH_SOCK 已正确设置eval "$(ssh-agent -s)"

PS:也尝试用instead进行完整操作eval "$(ssh-agent)",但是无济于事。

附言:除非我错过了什么,否则 stackoverflow、superuser 和 unix.stackexchange 上的所有问题都在处理另一种特定情况,例如ssh-add单独运行(因此只考虑标准关键位置)或尚未正确启动代理的人等...

答案1

好吧,事实证明这显然是由于需要(非常近的)软件包更新,因为它在系统更新和重启后现在可以再次工作了。

在所有与 依赖项匹配的更新软件包中openssh,罪魁祸首似乎是tzdata。因此请检查系统上待处理的软件包更新。

PS:对此要持保留态度,因为其中存在许多纠缠的依赖关系,我不确定所有这些在底层是如何工作的(libcap libcap-ng,,libgcrypt libxcrypt等等......)。

答案2

我使用 创建的新用户也遇到了同样的问题adduser。事实证明,这个新用户是config.ssh文件夹中没有文件的情况下创建的。

我创建了这样一个文件,其中包含

AddKeysToAgent yes

这似乎解决了我的问题。但是安全性是一个棘手的问题,SSH 有很多配置,其他点可能需要微调,例如SSH_ASKPASS等。

相关内容