如何使用本地机器上的密钥在远程实例上设置Git?

我有一个设置,我可以从我的本地机器ssh到我的远程服务器(即谷歌Compute实例)。 我曾经可以在远程实例上克隆,推送和从存储库中提取数据,而无需向我的远程实例添加任何密钥,也不需要在线添加任何新密钥(只需从我的本地计算机中获取公钥)。 我相信远程实例使用我的本地机器的密钥来validation我的Git推和拉。

但是,当我在本地机器上重新安装操作系统时,系统崩溃了。 现在,当我尝试从远程实例连接到Github服务器时,出现以下情况:

无法克隆:

[lucas@ecoinstance]~/node$ git clone [email protected]:lucasExample/test.git test Cloning into 'test'... Permission denied (publickey). fatal: The remote end hung up unexpectedly 

不能推:

 [lucas@ecoinstance]~/node/nodetest1$ git status # On branch master # Your branch is ahead of 'origin/master' by 1 commit. # nothing to commit (working directory clean) [lucas@ecoinstance]~/node/nodetest1$ git push Permission denied (publickey). fatal: The remote end hung up unexpectedly 

附加信息:

 [lucas@ecoinstance]~/node/nodetest1$ ssh-add -l Could not open a connection to your authentication agent. [lucas@ecoinstance]~/.ssh$ ls authorized_keys known_hosts 

正如你所看到的,我的远程实例没有密钥。 我从来没有在遥控器上的按键,它会推拉,直到我重新安装我的本地操作系统。

我仍然可以克隆,推,并拉我的本地机器,这只是我的远程机器无法validation。 我的本地操作系统是Ubuntu 14.04,我的远程操作系统是Debian Wheezy。

任何build议将是伟大的。 我不知道如何search这个概念,我可以通过我的本地机器从远程实例进行身份validation,所以任何引用也赞赏。

这听起来像你可能有ssh密钥转发设置,然后重新加载本地计算机。 这将允许远程机器使用您在本地的密钥。

在本地机器上编辑〜/ .ssh / config并添加

 Host remoteHost ForwardAgent yes 

如果遇到任何问题,Github会有更详细的教程