sudo ssh-add /root/.ssh/id_rsa返回错误


0

我试图ssh-add使用sudo用法命令保存ssh身份验证:

linux$ sudo ssh-add /root/.ssh/id_rsa
Could not open a connection to your authentication agent.

但如所示,它返回错误

我做了一些研究,发现我必须eval "ssh-agent -s"按照以下链接执行命令:https//stackoverflow.com/questions/17846529/could-not-open-a-connection-to-your-authentication-剂/ 17695338#17695338

但是如果用sudo命令执行它我会收到错误

$ sudo eval `ssh-agent -s`
sudo: eval: command not found

我缺少什么?


1
你想要达到什么目的?你为什么用sudo?
Jakuje 2016年

Answers:


1

从以下链接

幸运的是,有一种方法可以解决这个问题。Sudo有一个配置选项,允许从发出sudo命令的用户那里保留给定的环境变量。这些选项名为env_keep,可以通过更改/ etc / sudoers文件中的设置进行配置,如下所示(始终使用visudo编辑文件):

visudo

Defaults    env_reset
Defaults>root    env_keep+=SSH_AUTH_SOCK

换句话说,添加保持SSH_AUTH_SOCK变量低于Defaults env_reset行的行。然后保存文件并运行

ssh-agent bash
ssh-add

并且您应该能够执行sudo命令,该命令使用非sudo用户的密钥访问您的服务器,而不会被要求输入密钥密码。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.