我为我的github帐户设置了一个私钥,我认为该密码存储在OS X的钥匙串中。当我打开终端窗口并输入时,我当然不必键入它ssh [email protected]
。
但是,当我通过ssh会话或在tmux会话中本地运行bash时,每次尝试ssh到github时,都必须输入密码。
这个问题表明屏幕也存在类似的问题,但是我对这个问题的理解还不够,无法在tmux中修复它。还有这个网页,其中包括相当复杂的解决方案,但zsh的。
编辑:
响应@Mikel的答案,从本地终端我得到以下输出:
[~]
$ echo $SSH_AUTH_SOCK
/tmp/launch-S4HBD6/Listeners
[~]
$ ssh-add -l
2048 [my key fingerprint] /Users/richie/.ssh/id_rsa (RSA)
[~]
$ typeset -p SSH_AUTH_SOCK
declare -x SSH_AUTH_SOCK="/tmp/launch-S4HBD6/Listeners"
而通过ssh或tmux我得到:
[~]
$ echo $SSH_AUTH_SOCK
[~]
$ ssh-add -l
Could not open a connection to your authentication agent.
[~]
$ typeset -p SSH_AUTH_SOCK
bash: typeset: SSH_AUTH_SOCK: not found
echo $SSH_AGENT_PID
无论我从那里运行它,什么都不返回。
我的同事创建了一些bash函数来协助查找实时代理:https : //github.com/wwalker/ssh-find-agent
他主要将其用于系统之间的连接(笔记本电脑至台式机等),但是我最常将其用于本地tmux会话,在该会话中您从窗口管理器(本身为OS X)注销/登录。
用法
下载ssh-find-agent.bash(git clone git://github.com/wwalker/ssh-find-agent.git
有效)。
将以下内容添加到〜/ .bashrc中:
. /path/to/ssh-find-agent.bash
然后,您可以键入以下内容以在当前shell中设置SSH_AUTH_SOCK:
set_ssh_agent_socket
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句