Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 即使定义了SSH\U AUTH\U SOCK,也无法打开与身份验证代理的连接_Bash_Ssh_Ubuntu 12.04_Ssh Keys_Ssh Agent - Fatal编程技术网

Bash 即使定义了SSH\U AUTH\U SOCK,也无法打开与身份验证代理的连接

Bash 即使定义了SSH\U AUTH\U SOCK,也无法打开与身份验证代理的连接,bash,ssh,ubuntu-12.04,ssh-keys,ssh-agent,Bash,Ssh,Ubuntu 12.04,Ssh Keys,Ssh Agent,首先,我用 eval `ssh-agent -s` 我确认通过运行echo$SSH\u AUTH\u SOCK设置了SSH\u AUTH\u SOCK,这会令人鼓舞地返回/tmp/SSH-oCsFfHvR3345/agent.3345 然而,当我运行sudossh add ~/.ssh/id\u rsa时,我得到 Could not open a connection to your authentication agent. 此外,ssd add-l返回代理没有标识。如果您通过sudo运行

首先,我用

eval `ssh-agent -s`
我确认通过运行
echo$SSH\u AUTH\u SOCK
设置了
SSH\u AUTH\u SOCK
,这会令人鼓舞地返回
/tmp/SSH-oCsFfHvR3345/agent.3345

然而,当我运行
sudossh add ~/.ssh/id\u rsa
时,我得到

Could not open a connection to your authentication agent.

此外,
ssd add-l
返回
代理没有标识。

如果您通过
sudo
运行SSH命令,则不会设置环境变量

男人sudoers

默认情况下,启用“环境重置”选项。这将导致命令在新的最小环境中执行。在AIX(和不带PAM的Linux系统)上,使用/etc/environment文件的内容初始化环境。除了env_check和env_keep选项允许的调用过程中的变量外,新环境还包含术语、路径、主页、邮件、SHELL、日志名、用户、用户名和SUDO_*变量。这实际上是环境变量的白名单

通过运行
sudo env
,可以检查哪些环境变量可用于sudo命令


上面将解释您描述的行为,但您确实应该作为普通(非超级)用户运行
ssh
命令

你为什么要用
sudo
?你想以普通用户的身份运行它。