GitHub用戶,如何使用多個ssh密鑰
我是github上的新手,並且在安裝git時遇到了一些問題。 我有2賬戶在github不同的用戶和我的系統上設置的git 2倍
首先/.ssh文件夾(如常)(含有id_rsa其複製在第一 帳戶)
第二/.ssh/new文件夾(包含id_rsa其複製在 第二賬戶)
現在推我怎樣才能ssh密鑰之間進行切換的時間?
因爲如果我想推第二個帳戶,它將使用.ssh鍵而不是.ssh/new,並給我錯誤。
如果我在這裏理解錯誤,請讓我正確。
謝謝。
GitHub用戶,如何使用多個ssh密鑰
我是github上的新手,並且在安裝git時遇到了一些問題。 我有2賬戶在github不同的用戶和我的系統上設置的git 2倍
首先/.ssh文件夾(如常)(含有id_rsa其複製在第一 帳戶)
第二/.ssh/new文件夾(包含id_rsa其複製在 第二賬戶)
現在推我怎樣才能ssh密鑰之間進行切換的時間?
因爲如果我想推第二個帳戶,它將使用.ssh鍵而不是.ssh/new,並給我錯誤。
如果我在這裏理解錯誤,請讓我正確。
謝謝。
(我已經投票決定關閉這是一個可能的重複,但我還不如仍要添加了類似的回答。)
當使用SSH傳輸,GitHub的識別您作爲基於SSH密鑰的用戶你用來驗證。所以,你需要確保git使用一個SSH密鑰作爲一個存儲庫,另一個作爲另一個。
我要去假設:
user1
,你已經加入到該帳戶與您本地的私鑰/home/whoever/.ssh/id_rsa
的公鑰。假設您有興趣作爲user1
訪問的存儲庫在GitHub上是user1/whatever
。user2
,並且您已將與您的本地私鑰/home/whoever/.ssh/new/id_rsa
對應的公鑰添加到該帳戶。假設您有興趣作爲user2
訪問的存儲庫在GitHub上是user2/whatever
。做處理這種情況的最簡單的方法是創建一個新的「遠程」(即用於遠程倉庫暱稱)每個倉庫,其中主機名是在每個遠程的URL實際上是一個別名,你」已經設置在~/.ssh/config
。 (如果配置文件不存在,你必須創建它。)
例如,在~/.ssh/config
文件中的一個條目可能看起來像:
Host github-as-user1
HostName github.com
User git
IdentityFile /home/whoever/.ssh/id_rsa
然後你就可以添加遠程叫gh-user1
,例如:
git remote add gh-user1 [email protected]:user1/whatever.git
...然後,如果你想使用~/.ssh/id_rsa
關鍵看你master
分支推到倉庫user1/whatever
在GitHub上,你可以這樣做:
git push gh-user1 master
爲了推動與其他用戶(user2
)到第二倉庫,你需要爲您添加第二個別名~/.ssh/config
文件。例如:
Host gh-as-user2
HostName github.com
User git
IdentityFile /home/whoever/.ssh/new/id_rsa
然後推到第二庫爲不同的用戶,你可以這樣做:
git push gh-user2 master
因此,git不會與.ssh/config配合使用?爲什麼不能使用標準ssh參數? -i .ssh/my_github_key –
我想補充一點,這可以通過'ssh -T git @ gh-as-user1'和'ssh -T git @ gh-as-user1'進行測試。 如果它不起作用,請嘗試運行'ssh-add〜/ .ssh/new/id_rsa'或'ssh-add〜/ .ssh/id_rsa' –
如果您使用的密鑰存在於〜/之外。 ssh目錄,除非你這樣做:'ssh-add/path/to/key' –
我不知道爲什麼會要放置在'〜/「第二」鍵。 ssh'子文件夾?爲什麼不堅持以數字爲後綴的約定,如:'id_rsa','id_rsa.1','id_rsa.2'等... –
@JuicyScripter只是想分離,你也是正確的,但我需要告訴git需要使用哪個密鑰以及如何使用? –