1

有时我忘记在我家的电脑上推送一些东西到 github,所以我快速使用 SSH 登录并推送它。但我总是得到这个错误:

$ git push
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

我打开了 X11 转发,但就是这样!为什么当我在家时它可以正常工作时它会抱怨公钥?

github存储库是这个:git@github.com:skerit/alchemy.git

它也只能与 github 一起使用。其他私人存储库工作得很好。

我现在的解决方法是创建一个 vnc 会话并像那样推送它,但这很烦人。

编辑1:

Ubuntu 的 ssh-agent 似乎以某种方式绑定到 Unity 会话,并且任何没有从那里产生的进程都无法访问它。这很烦人。

 3123 ?        Ss     0:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session /usr/bin/im-launch gnome-session --session=ubuntu

编辑2:

我找到了一种使用现有 ssh-agent 的方法,虽然它确实加载了现有密钥,但它仍然不起作用。

https://superuser.com/questions/141044/sharing-the-same-ssh-agent-among-multiple-login-sessions

4

1 回答 1

0

如果您的“不在家”机器有您的 SSH 密钥和正在运行的代理,您可以在连接到您的家用机器时使用代理转发。尝试 ssh 选项-A或设置ForwardAgentYes. 请参阅man sshman ssh_config了解更多详情。

于 2013-08-22T08:40:37.610 回答