Git 權限被拒絕(公鑰)錯誤

Git 權限被拒絕(公鑰)錯誤

我已經多次連接到 github,並且了解如何產生 ssh 金鑰並將其放入id_rsa.pubgithub 設定中。但由於某種原因,此安裝我無法連接它。我只是想將私有儲存庫克隆到新伺服器,但是當我克隆時,我得到:

權限被拒絕(公鑰)。 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 下的錯誤。

看:https://stackoverflow.com/a/44753293/1156933

相關內容