我已按照 Bitbucket 的說明添加 SSH 金鑰並使用 git,而無需每次都進行身份驗證。我請按照此處的說明進行操作。然後我收到以下訊息:ssh -T [email protected]
Bad owner or permissions on /home/centos/.ssh/config
SSH 權限檢查顯示:
cat ~/.ssh/config
Host bitbucket.org
IdentityFile ~/.ssh/id_rsa
並且~/.ssh/id_rsa
存在並包含我的私鑰。公鑰已新增至 Bitbucket 中我的 SSH 金鑰中,並且我收到的錯誤訊息不在他們的故障排除指南中。
系統是CentOS Linux版本7.0.1406(Core),git版本1.8.3.1,SSH密鑰5小時前加入Bitbucket。不確定是否相關,centos
CentOS 電腦上的使用者是自動建立的,我使用身分檔案登入(我沒有密碼)。此外,Bitbucket 儲存庫工作正常,我可以從另一台電腦上使用它,沒有問題。兩個 SSH 金鑰都列在我的 Bitbucket 帳戶下。
更新:這兩個答案我都得到了提及權限,但我已經檢查過。~/.ssh/id_rsa
和分別~/.ssh/id_rsa
由我的用戶擁有664
和600
。我什至嘗試777
對這兩個文件進行 chmod 但收到相同的消息。
答案1
這兩個答案我都得到了提及權限,但我已經檢查過。
~/.ssh/id_rsa
和分別~/.ssh/id_rsa
由我的用戶擁有664
和600
。我什至嘗試777
對這兩個文件進行 chmod 但收到相同的消息。
777
權限永遠不會運作。 SSH 權限具有嚴格的限制性,像這樣開放它們只會導致錯誤。此外,您對其他問題的評論表明這些是您當前的權限:
-rw-rw-r--. 1 centos centos 47 May 17 20:33 /home/centos/.ssh/config
這些是664
權限-rw-rw-r--
。您想要的是600
權限,即-rw-------
.所以請嘗試一下這個;首先~/.ssh/config
像這樣更改權限:
chmod 600 /home/centos/.ssh/config
現在做同樣的事情~/.ssh/id_rsa
chmod 600 /home/centos/.ssh/id_rsa
另外,我不太確定 Bitbucket SSH 網域/用戶組合是什麼,但透過使用帶有-v
(詳細)標誌的 SSH 命令來偵錯進程以詳細查看發生的情況可能是值得的。像這樣的命令會有所幫助:
ssh -v -T [email protected]
這-v
將是詳細的輸出,並且-T
將 SSH 設定為“禁用偽 tty 分配”,因此它不會創建真正的互動式會話;它本質上只是嘗試連接到遠端主機,然後斷開連接。對於測試很有用。
答案2
正如錯誤所示......使用類似的東西檢查所有權和權限ls -l /home/centos/.ssh/config
。
它應該由您擁有 ( centos
),且模式為600
( rw-------
) 或400
( r--------
)。
答案3
我會運行一個
sudo chown <username>:<username> ~/.ssh/config
您的系統使用者名稱在哪裡<username>
將檔案的擁有者變更為<username>
刪除它,然後使用當前使用者(而不是 sudo)重新建立它也可以。我懷疑這是由於以 root 身份創建文件引起的。