我启动一个新的 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
尝试)。但是,它实际上并没有在 stderr 上打印任何输出。ssh-add ...
echo $?
环境变量 $SSH_AGENT_PID 和 $SSH_AUTH_SOCK 在eval "$(ssh-agent -s)"
命令后正确设置。
PS:也尝试了完整的操作eval "$(ssh-agent)"
,但无济于事。
PS:除非我遗漏了什么,否则关于 stackoverflow、超级用户和 unix.stackexchange 的所有问题都在处理另一种特定情况,例如ssh-add
单独运行(因此只考虑标准关键位置)或没有正确启动代理的人ETC...
好吧,事实证明这显然是由于需要(最近的)软件包更新,因为它现在在系统更新和重新启动后再次工作。
在所有更新的软件包中
openssh
,与tzdata
. 因此,请检查系统上待处理的软件包更新。PS:对此持保留态度,因为有许多纠缠不清的依赖项,我不确定所有这些在幕后是如何工作的(
libcap
libcap-ng
,libgcrypt
libxcrypt
等...)。我对使用创建的新用户有同样的问题
adduser
。事实证明,这个新用户是在文件夹中没有config
文件的情况下创建的.ssh
。我用该行创建了这样一个文件
这似乎解决了我的问题。然而,安全性是一个微妙的问题,SSH 有很多配置,其他点可能需要微调,比如
SSH_ASKPASS
等。