为什么可以';";“git克隆”;从我的服务器使用从本地计算机运行的密钥?

为什么可以';";“git克隆”;从我的服务器使用从本地计算机运行的密钥?,git,Git,这是/home/ubuntu/.ssh的内容 drwx------ 2 ubuntu ubuntu 4096 2011-09-28 02:32 . drwxr-xr-x 5 ubuntu ubuntu 4096 2011-09-28 02:08 .. -rw------- 1 ubuntu ubuntu 396 2011-09-27 20:53 authorized_keys -rw------- 1 ubuntu ubuntu 115 2011-09-27 21:10 config -rw

这是/home/ubuntu/.ssh的内容

drwx------ 2 ubuntu ubuntu 4096 2011-09-28 02:32 .
drwxr-xr-x 5 ubuntu ubuntu 4096 2011-09-28 02:08 ..
-rw------- 1 ubuntu ubuntu  396 2011-09-27 20:53 authorized_keys
-rw------- 1 ubuntu ubuntu  115 2011-09-27 21:10 config
-rw------- 1 ubuntu ubuntu 1670 2011-09-27 21:10 id_rsa
-rw------- 1 ubuntu ubuntu  397 2011-09-27 21:10 id_rsa.pub
-rw-r--r-- 1 ubuntu ubuntu  407 2011-09-28 02:07 known_hosts
id_rsa.pub已经是添加到我的github帐户的密钥,因为如果我尝试添加它,它会告诉我它已经存在。这也是允许我从本地机器进行git克隆的关键。但当我尝试从服务器上git克隆某些内容时:

$ git clone git@github.com:redCashion/ruby-mysql.git
Cloning into ruby-mysql...
Permission denied (publickey).
fatal: The remote end hung up unexpectedly 

您可以直接尝试ssh'ing到github,它将为您提供一些诊断信息。最重要的是,使用
ssh-vvv…
获得关于所发生事情的详细输出。你可能会发现它没有使用你认为它是的钥匙。如果是这种情况,请检查~/.ssh/config的内容。

对于诊断,请尝试
ssh-Tgit@github.com
,它应该给出如下内容:

Hi username! You've successfully authenticated, but GitHub does not provide shell access.
如果失败,则说明您的密钥设置不正确,或者正在使用其他密钥。尝试:

ssh -vT git@github.com
查看它正在尝试的私钥。确保它位于
/home/ubuntu/.ssh
,就像您期望的那样