fabric 无法在远程检测到多个 ssh 密钥

fabric can't detect multiple ssh keys on remote

从远程终端ssh到git就可以了。 但是在本地使用 fabric 命令时需要密码。

在查看 fablog 后,我发现了这些:

DEB [20150804-15:13:13.251] thr=1   paramiko.transport: Switch to new keys ...
DEB [20150804-15:13:13.279] thr=2   paramiko.transport: Trying discovered key a0329c4d2669f3c5ab5651cef4f41eda in /Users/howie/.ssh/id_rsa
DEB [20150804-15:13:13.293] thr=1   paramiko.transport: userauth is OK
INF [20150804-15:13:14.509] thr=1   paramiko.transport: Authentication (publickey) failed.
DEB [20150804-15:13:14.524] thr=2   paramiko.transport: Trying discovered key cff84423999b0044447c1334af27ca91 in /Users/howie/.ssh/id_dsa
DEB [20150804-15:13:14.528] thr=1   paramiko.transport: userauth is OK
INF [20150804-15:13:14.537] thr=1   paramiko.transport: Authentication (publickey) failed.

似乎 fabric 尝试使用默认 id_rsa 连接到 git,但正确的文件被命名为 id_rsa_osc 因为我有多个 git 环境。

如何配置 fabric 以使用自定义 ssh 文件连接到 git?

解决此问题的最佳方法是使用 ssh-agent 程序来保存您的密钥。然后你可以在运行fabric之前ssh-add你想要的键。理想情况下,您应该对此进行设置,以便代理在您登录时自动运行,但有些环境并不容易。

如果您以前没有使用过 ssh-agentthis tutorial 应该会有所帮助。如果您有,很抱歉包含了无用的信息。