有时我忘记在我家的电脑上推送一些东西到 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