Ham*_*ner 6 ssh ssh-agent gnome-keyring
ssh-add在命令行上运行不再正确解锁我的系统上的 ssh 密钥(Ubuntu 11.10 with Unity)。即使在我运行 ssh-add 之后,当我 ssh 到服务器时,我也会弹出一个对话框,询问我的 ssh 密钥密码。之后,事情按预期工作。
ssh-agent在跑。当我第一次登录时:
$ ps -ef | grep ssh-agent
mish 1853 1818 0 18:55 ? 00:00:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session /usr/bin/gnome-session --session=ubuntu
Run Code Online (Sandbox Code Playgroud)
如何正确解锁 ssh 密钥而不必通过 ssh 连接到服务器?(手动触发 ssh 密钥对话框窗口可以作为解决方案,但我不知道该怎么做)。
我的用例是我使用tmuxinator并想设置多个 ssh 连接。所以我想解锁 ssh 密钥。否则所有 ssh 密钥对话框都会弹出,我必须多次输入密码。或者我可以在启动 tmuxinator 之前在某个地方 ssh,但是这里的连接很慢,所以只会增加摩擦。所以我想在启动 tmuxinator 之前解锁 ssh 密钥,而不必先在某个地方 ssh。
刚刚尝试注销并重新登录。然后我做了:
$ env | grep -i ssh
SSH_AGENT_PID=8693
SSH_AUTH_SOCK=/tmp/keyring-Ho4cfE/ssh
$ ssh-add -D
All identities removed.
$ ssh-add -l
1024 b8:12:34:56[...]:19 name@computer (DSA)
$ ssh-add
Enter passphrase for /home/name/.ssh/id_dsa:
Identity added: /home/name/.ssh/id_dsa (/home/mish/.ssh/id_dsa)
$ ssh-add -l
1024 b8:12:34:56[...]:19 /home/name/.ssh/id_dsa (DSA)
1024 b8:12:34:56[...]:19 name@computer (DSA)
0 mish@mishtop:~$ ssh server
Run Code Online (Sandbox Code Playgroud)
此时,GUI 对话框再次要求我输入密码。令人沮丧...
同样有趣的是,在“删除所有身份”后,ssh-add -l仍然显示身份。这让我很困惑。并且似乎只有一个 ssh-agent 在运行。
我在启动板上发现了一个关于此的错误:https : //bugs.launchpad.net/ubuntu/+source/openssh/+bug/841672
然而,这个问题是关于寻找解决方法而不是询问为什么它不起作用,所以我希望这个问题可以成立。
没什么不寻常的/etc/ssh/ssh_config- 我没有碰过它。我确实有,~/.ssh/config但这只是端口和用户名。
当对话框弹出时,我观察了哪些进程正在运行,它是/usr/lib/gnome-keyring/gnome-keyring-prompt-3由/usr/bin/gnome-keyring-daemon --daemonize --login我尝试从终端启动提示而启动的,但没有任何反应。所以还是卡住了。
不是对上述问题的直接回答,而是解决核心问题的方法:
停止 gnome-keyring ssh-agent 启动。然后 ssh-agent、ssh-add 和 ssh 按预期工作。(或者至少如我所料)。
要停止 gnome-keyring ssh-agent 启动,请执行以下操作:
sudo mv /etc/xdg/autostart/gnome-keyring-ssh.desktop /etc/xdg/autostart/gnome-keyring-ssh.desktop.disabled
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6244 次 |
| 最近记录: |