2016-11-29 98 views

回答

2

你可能写信给你~/.bashrc线

`eval ssh-agent` 
ssh-add 

或这样的事情。这意味着它将为您打开的每个外壳启动一个新的ssh-agent,这当然不是您想要的。当你打开你的Xsession(~/.xsession)代理人应该开始,或者如果代理正在运行一个新的运行前应检查:

[ -z $SSH_AUTH_SOCK ] && `eval ssh-agent` && ssh-add 
+0

完美。这工作!你是对的,在我的.bash_profile我有: eval“$(ssh-agent -s)” ssh-add -K〜/ .ssh/id_rsa – HosseinK

-1

您可以使用ssh-agent。该名男子页说:

的ssh-agent是一个程序来保持用于公钥 authenti- 阳离子(RSA,DSA,ECDSA,Ed25519)私人密钥。 ssh-agent通常在X会话或登录会话的开始时间为 ,所有其他窗口或 程序作为ssh-agent程序的客户端启动。通过使用 环境变量,当使用ssh(1)登录到其他机器时,代理可以被定位并自动用于 认证。

在进一步阅读,你可以看到:

代理最初没有任何私钥。使用 ssh-add(1)添加密钥 。当不带参数执行时,ssh-add(1)将文件 〜/ .ssh/id_rsa,〜/ .ssh/id_dsa,〜/ .ssh/id_ecdsa,〜/ .ssh/id_ed25519和 〜/ .ssh/identity 。 如果身份有密码,ssh-add(1)会在终端上询问 密码,如果它具有一个或来自X11小程序 (如果在X11下运行)。如果这两种情况都不是这种情况,则阳离子将失败。然后它将身份发送给代理。几个 身份可以存储在代理中;该代理可以自动使用这些身份中的任何一个。 ssh-add -l显示代理持有的身份 。