
我已經多次連接到 github,並且了解如何產生 ssh 金鑰並將其放入id_rsa.pub
github 設定中。但由於某種原因,此安裝我無法連接它。我只是想將私有儲存庫克隆到新伺服器,但是當我克隆時,我得到:
權限被拒絕(公鑰)。 fatal:遠端意外掛斷
如果我跑:
ssh -T [email protected]
它告訴我我已成功通過身份驗證。
我還能嘗試什麼?我正在 bitnami 堆疊上運行它,所以這可能會導致問題嗎?這可能就是問題所在,我只是不知道該怎麼辦。 .ssh/authorized_keys 目錄中已經有一組密鑰。我不理會它們,因為這就是我與 putty/pagent 連接的方式。我將新金鑰放入 /.ssh 中,並保留了authorized_keys。設定這個的正確方法是什麼?我應該刪除兩對並重新開始嗎? putty 和 github 使用相同的金鑰嗎?如果出現問題,為什麼我仍然要進行身份驗證?
答案1
您是否嘗試過建立新的 SSH 證書,即金鑰對?
1 產生預設密鑰對:
$ ssh-keygen -t rsa -C "[email protected]"
如果您已有 SSH 證書,請勿使用此證書。
2 產生附加密鑰對:
$ ssh-keygen -t rsa -C "[email protected]"
3 新增非預設鍵
$ ssh-add ~/.ssh/id_rsa_seconduser
Enter passphrase for /Users/defaultuser/.ssh/id_rsa_seconduser:
Identity added: /Users/defaultuser/.ssh/id_rsa_defaultuser (/Users/defaultuser/.ssh/id_rsa_defaultuser)
4 設定 SSH 設定檔 ( ~/.ssh/config
),以便 SSH 知道哪個金鑰用於哪個伺服器:
Host github.com
HostName github.com
User git
IdentityFile /Users/XXXUser/.ssh/id_rsa
Host github-client
HostName github.com
User git
IdentityFile /Users/XXXUser/.ssh/id_rsa_XXXSECONDUSER
5 確保在.git/config
與 Github 上的第二個使用者帳戶關聯的 Git 專案檔案中,您使用的是正確的主機名github-client
,但不是github.com
:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git@github-client:foobarsomeuser/foobar.git
答案2
您的公鑰似乎丟失了,或者您在密鑰環中放置了不正確的公鑰。檢查密鑰環是否存在於~/.ssh
.很難說不提及你的作業系統
.ssh/authorized_keys 目錄中已經有一組密鑰。
我相信這些是 ssh 進入 Linux 伺服器所需的金鑰。
最好的方法是為 github 重新產生一組新的私鑰/公鑰,將 PK 新增至您的 Linux 伺服器金鑰環並將公鑰貼到Github 帳戶。
答案3
gnome-keyring-daemon
這是Ubuntu 14.04 LTS 下的錯誤。