有没有办法使用标准sudo 用户在ssh-agent中添加 root 的 ssh私钥?
我不太确定,但这是否是该命令的限制?
在ssh-add 手册页中,我发现: 身份文件不应该被除用户之外的任何人读取。请注意,如果其他人可以访问身份文件,则 ssh-add 会忽略这些文件。
这就是输出:
sudouser@myhost:/ $ ssh-agent
SSH_AUTH_SOCK=/tmp/ssh-Yppfd3Xp0Yrm/agent.2429; export SSH_AUTH_SOCK;
SSH_AGENT_PID=2430; export SSH_AGENT_PID;
echo Agent pid 2430;
sudouser@myhost:/ $ eval $(ssh-agent)
Agent pid 2435
sudouser@myhost:/ $ ssh-add /home/sudouser/.ssh/id_rsa
Enter passphrase for /home/sudouser/.ssh/id_rsa:
Identity added: /home/sudouser/.ssh/id_rsa (/home/sudouser/.ssh/id_rsa)
Run Code Online (Sandbox Code Playgroud)
按预期工作。但有了 root 的密钥我得到:
sudouser@myhost:/ sudo ssh-add /root/.ssh/ansible/id_rsa
or
sudouser@myhost:/ sudo sh -c 'ssh-add /root/.ssh/ansible/id_rsa'
Could not open a connection to your authentication agent.
Run Code Online (Sandbox Code Playgroud)