我已经使用ssh-copy-id设置了自动(无密码)ssh登录到某些服务器。ssh-agent
仅可从运行它的终端上运行。我如何ssh-add
在所有终端上工作?
自然,我不希望在没有密码的情况下使用SSH密钥。
如果要登录图形会话,请安排ssh-agent
在会话启动期间启动。一些发行版已经为您做到了。如果没有,请安排ssh-agent
从会话启动脚本或窗口管理器运行。如何做取决于您的桌面环境和窗口管理器。例如,如果您手动启动窗口管理器,只需更换呼叫my_favorite_wm
通过ssh-agent my_favorite_wm
。
不要ssh-agent
从.bashrc
或开始.zshrc
,因为这些文件是由每个新的交互式外壳程序执行的。开始的ssh-agent
位置在会话启动文件中,例如.profile
或.xsession
。
如果无论您从何处登录,都想在所有进程上使用相同的SSH代理,则可以使其始终使用相同的套接字名称,而不是使用随机命名的套接字。例如,您可以将其放在您的中~/.profile
:
export SSH_AUTH_SOCK=~/.ssh/ssh-agent.$HOSTNAME.sock
ssh-add -l 2>/dev/null >/dev/null
if [ $? -ge 2 ]; then
ssh-agent -a "$SSH_AUTH_SOCK" >/dev/null
fi
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句