目前我每次启动终端时我收到提示如下:如何避免始终在终端启动时输入id_rsa的密码?
上次登录:周一11月28日21点32分十六秒的ttys000
代理的pid 2733
用于输入密码/用户/my_name/.ssh/id_rsa:
你能指导我如何避免每次都输入密码吗?
目前我每次启动终端时我收到提示如下:如何避免始终在终端启动时输入id_rsa的密码?
上次登录:周一11月28日21点32分十六秒的ttys000
代理的pid 2733
用于输入密码/用户/my_name/.ssh/id_rsa:
你能指导我如何避免每次都输入密码吗?
你可能写信给你~/.bashrc
线
`eval ssh-agent`
ssh-add
或这样的事情。这意味着它将为您打开的每个外壳启动一个新的ssh-agent
,这当然不是您想要的。当你打开你的Xsession(~/.xsession
)代理人应该开始,或者如果代理正在运行一个新的运行前应检查:
[ -z $SSH_AUTH_SOCK ] && `eval ssh-agent` && ssh-add
您可以使用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显示代理持有的身份 。
完美。这工作!你是对的,在我的.bash_profile我有: eval“$(ssh-agent -s)” ssh-add -K〜/ .ssh/id_rsa – HosseinK