每次登录一次添加ssh密钥,而不是每个bash一次

时间:2016-06-29 13:36:17

标签: bash ssh ssh-agent

我想使用身份验证密钥对来使用ssh passwordless-login。

我添加了

eval `ssh-agent -s`
ssh-add ~/.ssh/my_p_key

~/.profile这不起作用。如果我使用~/.bashrc它可以正常工作。

为什么每次调用bash而不是每次用户登录时都必须设置它。我找不到任何解释。

有没有更好的方法来配置它?

3 个答案:

答案 0 :(得分:1)

下面的答案解决了我的问题,对我而言,这看起来是一个非常合法的解决方案。

Add private key permanently with ssh-add on Ubuntu

答案 1 :(得分:0)

eval `ssh-agent -s` 

设置流程的环境。如果您使用的是窗口管理器,例如在Linux机器上,窗口管理器可能有可能运行一个程序,例如,你的ssh-agent在启动时将环境传递到那里启动的所有进程,所以你的所有终端窗口/选项卡都允许你进行无密码登录。确切的位置,配置和行为取决于使用的桌面/ wm。

如果您使用的是非窗口系统,那么您可能会查看ssh-agent调用的输出并将其粘贴到您打开的所有shell中,但这可能与输入密码一样复杂。输出可能会设置类似

SSH_AGENT_PID=4041
SSH_AUTH_SOCK=/tmp/ssh-WZANnlaFiaBt/agent.3966

您可以在设置这些

的所有地方访问pw-less

答案 2 :(得分:0)

仅将“ IdentityFile〜/ .ssh / config”添加到我的.ssh / config对我不起作用。我还必须在该文件中添加“ AddKeysToAgent yes”。

我认为这行是必要的,因为gnome-Keyring会加载我的密钥,但是它存在一个错误,无法将其转发到我所使用的计算机上。