mod*_*tos 3 ssh git public-key ssh-keys
我有一个设置,可以从我的本地计算机 ssh 到我的远程服务器(即 Google 计算实例)。我曾经能够从远程实例上的存储库进行克隆、推送和拉取,而无需向远程实例添加任何密钥,也无需向在线存储库添加任何新密钥(只需本地计算机中的公钥)。我相信远程实例正在使用本地的密钥来验证我的 Git 推送和拉取操作。
然而,当我在本地计算机上重新安装操作系统时,系统崩溃了。现在,当我尝试从远程实例连接 Github 服务器时,我得到以下信息:
无法克隆:
[lucas@ecoinstance]~/node$ git clone git@github.com:lucasExample/test.git test
Cloning into 'test'...
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
无法推送:
[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
Run Code Online (Sandbox Code Playgroud)
附加信息:
[lucas@ecoinstance]~/node/nodetest1$ ssh-add -l
Could not open a connection to your authentication agent.
[lucas@ecoinstance]~/.ssh$ ls
authorized_keys known_hosts
Run Code Online (Sandbox Code Playgroud)
如您所见,我的远程实例上没有密钥。我从来没有在遥控器上使用过钥匙,在我重新安装本地操作系统之前,它可以很好地推拉。
我仍然可以在本地计算机上克隆、推送和拉取,只是我的远程计算机无法获得身份验证。我的本地操作系统是 Ubuntu 14.04,我的远程操作系统是 Debian Wheezy。
任何建议都会很棒。我不确定如何搜索这个概念,我可以通过本地计算机从远程实例进行身份验证,因此也欢迎任何参考。
小智 5
听起来您在重新加载本地计算机之前可能已经设置了 ssh 密钥转发。这将允许远程计算机使用您本地拥有的密钥。
在本地计算机上编辑 ~/.ssh/config 并添加
Host remoteHost
ForwardAgent yes
Run Code Online (Sandbox Code Playgroud)
如果您遇到任何问题,Github 有更详细的教程
归档时间: |
|
查看次数: |
2292 次 |
最近记录: |