2010-03-30 69 views

回答

4

troubleshooting guide

權限被拒絕(公鑰)

這通常是由於SSH時,無法找到 你的鑰匙。確保您的密鑰是 ,默認位置是〜/ .ssh。如果 你再次運行ssh-keygen,只需要 按回車就可以了3條提示,它會自動將 放在這裏。然後你 可以將id_rsa.pub的內容添加到我的github密鑰的 。如果id_rsa.pub不是 請嘗試使用id_dsa.pub。如果您只有一個rsa密鑰,您可能需要 生成一個帶有ssh-keygen的新dsa密鑰 -t dsa。

如果您仍然有問題,並 沒有工作上面的,你可能有 從Debian 開放SSH漏洞被列入黑名單的關鍵。你應該更新 open-ssh並重新生成你的密鑰。

所以,只需要檢查 - 您的密鑰是否可以在〜/ .ssh /中以id_rsa和id_rsa.pub或其他方式提供,您是否指定了它們的用途?

+0

我發現這樣做是在這裏發帖之前。當然我的鑰匙在〜/ .ssh中。 – Ockonal 2010-03-30 14:45:43

+1

那麼,優秀的是那個dir設置爲0600的燙手?只是遇到可能錯誤的東西,因爲它看起來像ssh-agent或ssh並沒有拿起你的密鑰。 – 2010-03-30 14:49:51

0

請注意,ssh-agent是每個會話(每個終端)。使用ssh代理管理器,如keychain(請參閱其設置文檔)以通過任何會話(從任何術語)進行訪問。

12

生成後ssh鍵我按照jamesw的建議執行下面列出的命令。

$ ssh-add ~/.ssh/id_rsa 

我輸入了我的密碼。然後重新嘗試克隆heroku存儲庫。這次它工作正常。

2

我能得到gitlab工作感謝這個線程(我知道這不是github)。

我也發現@jamesw的答案是正確的。

我最終不得不刪除我的known_hosts文件,並使用與我的gitlab帳戶相同的密碼重新創建我的ssh密鑰。

然後我做了ssh-add並做了一個git push -u origin master。成功!

感謝大家的幫助。

UPDATE:
我決定重拍我的SSH密鑰沒有密碼,再次遇到了這個錯誤。

這一次,我能夠將我的舊known_hosts複製到新的.ssh/,並簡單地運行ssh-add

1

出現此問題主要是由於以下原因:

  • 的公共和私有密鑰對是錯。您必須驗證放置公鑰的服務器/ git帳戶上的密鑰公鑰。即使是小空間或標籤也會導致錯誤。
  • 如果你確定你的公鑰是正確的,那麼檢查你機器上〜/ .ssh文件夾中的公鑰格式。對於openssh,您不能在puttygen格式中使用公鑰,反之亦然。要改變你可以使用用下面的命令格式私鑰

    $的ssh - 凱基-e -f的〜/ .ssh/id_rsa>的〜/ .ssh/id_rsa_com.pub
    $的ssh - 凱基-i - f〜/ .ssh/id_rsa_com.pub>〜/ .ssh/id_rsa.pub

  • 最後檢查是否已將密鑰添加到系統中的ssh客戶端。您可以使用下面的命令

    $的eval 「$(SSH代理-s)」

    $的ssh-添加