Ssh

如何使用本地機器上的密鑰在遠端實例上設置 Git?

  • June 6, 2014

我有一個設置,我可以從我的本地機器 ssh 到我的遠端伺服器(即 Google Compute 實例)。我曾經能夠從遠端實例上的儲存庫中複製、推送和拉取,無需向遠端實例添加任何密鑰**,也無需線上向我的儲存庫添加任何新密鑰(僅來自****本地電腦的公鑰)。我相信遠端實例正在使用我本地**機器上的密鑰來驗證我的 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

無法推送:

[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

如您所見,我的遠端實例上沒有密鑰。我從來沒有在遙控器上有過鑰匙,在我重新安裝本地作業系統之前,它會很好地推拉。

我仍然可以在我的本地機器上複製、推送和拉取,只是我的遠端機器無法獲得身份驗證。我的本地作業系統是 Ubuntu 14.04,我的遠端作業系統是 Debian Wheezy。

任何建議都會很棒。我不知道如何搜尋這個概念,我可以通過我的本地機器從遠端實例進行身份驗證,因此也歡迎任何參考。

聽起來您可能在重新載入本地電腦之前設置了 ssh 密鑰轉發設置。這將允許遠端機器使用您在本地擁有的密鑰。

在本地機器上編輯 ~/.ssh/config 並添加

Host remoteHost
   ForwardAgent yes

如果您遇到任何問題,Github 有更詳細的教程

引用自:https://serverfault.com/questions/602199