簡體   English   中英

無法通過SSH進入我的Bitbucket存儲庫-確認:存儲庫訪問被拒絕

[英]Can't SSH into my Bitbucket repository - conq: repository access denied

我已經按照一百萬的指南對此進行了操作,但我無法使其正常工作。 之前,我通過SSH成功​​推送到了我的私有Bitbucket git存儲庫,現在突然不起作用了。

我用新的密碼短語重新創建了密鑰,並將其添加到我的Bitbucket設置中,它將無法正常工作。

好的,這是我采取的步驟:

  1. 刪除舊密鑰對(project1和project1.pub)
  2. 使用此命令重新創建它ssh-keygen -f ~/.ssh/project1 -C "project1"
  3. ~/.ssh文件中為我的兩個 Bitbucket帳戶創建了一個config ,內容如下:

Host project1 HostName bitbucket.org IdentityFile ~/.ssh/project1 Host project2 HostName bitbucket.org IdentityFile ~/.ssh/project2

  1. 抓住project1.pub的內容,並在我的Bitbucket帳戶中創建了一個新的SSH密鑰條目。
  2. 在我的~/.zshrc插件列表中添加ssh-agent ,如下所示: plugins=(git ssh-agent)並重新啟動終端
  3. ssh-add -l並只加載了project2
  4. ssh-add ~/.ssh/project1輸入了我的密碼並成功,如下所示:

2048 SHA256:THESHA256 /Users/myuser/.ssh/project2 (RSA) 2048 SHA256:THESHA256 /Users/myuser/.ssh/project1 (RSA)

  1. 重新啟動終端並執行ssh-add -l並列出了兩個條目
  2. 進入我的項目並進行git push ,它告訴我我無法訪問。

當我執行ssh -T git@bitbucket.com ,它告訴我我使用project2的用戶名登錄

以project2_user身份登錄。

我的系統是OS X 10.11.5

我永遠無法在計算機上修復多個身份,並且始終使用HTTPS,但是我需要使用SSH來確保所有內容的安全,這也使我的帳戶具有兩重身份驗證。 因此,現在必須使用SSH,我不知道該怎么辦。

PS:我也為project2的身份做了創建步驟,但是我相當確定它也不起作用。


我遵循的指南:

https://confluence.atlassian.com/bitbucket/configure-multiple-ssh-identities-for-gitbash-mac-osx-linux-271943168.html


編輯

project2沒有密碼,而project1有! 只是認為這可能是相關的。

編輯2

我做了ssh-add -D刪除了所有已加載的密鑰,然后為project1添加了密鑰,輸入了密碼並推送了它。 有效。 但是現在我的其他身份不起作用,因為未加載其密鑰。

為什么我的多個身份不起作用?

如果同一遠程主機上的不同存儲庫要求使用不同的SSH身份,則必須使用SSH別名。

檢查remote.origin.url在本地存儲庫中remote.origin.url具有以下(或等效值)值:

  • project1git@bitbucket.org:accountX/project1.git
  • project2git@bitbucket.org:accountY/project2.git

accountX可以是與您在Bitbucket上的第一個身份相關聯的帳戶(即project1_user ),也可以是向其存儲庫project1授予對project1_user訪問權的另一個帳戶。 project2

現在,當git必須從本地存儲庫連接到遠程存儲庫時,它將首先必須連接到遠程服務器,並且這兩個項目的后者都設置為bitbucket.org 然后,git如何知道要使用哪個SSH身份? 它選擇一些bitbucket.org相關的身份。

如下更新您的remote.origin.url設置:

  • project1git@project1:accountX/project1.git
  • project2git@project2:accountY/project2.git

然后,當告訴git連接到git@project1 ,它將project1解析為~/.ssh/config的相應條目,並使用其中指定的標識。 對於project2同樣。

根據我的經驗,在這種情況下,您可以節省大量時間和精力使用HTTPS。

幾個月前,我無法通過多個SSH身份獲得成功。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM