2016-12-29 125 views
1

我在Gitlab中有兩個用戶帳戶。一個用axmug用戶,另一個用GbFlow
當我使用axmug用戶登錄時,配置文件設置中有任何鍵。
但是當我使用GbFlow用戶登錄時,我創建了一個SSH密鑰文件,我可以在配置文件設置中觀看它。我可以看到三個文件:id_rsa,id_rsa.pubknown_hosts
此密鑰是使用axmug用戶生成的。兩個用戶都有不同的電子郵件。幾個SSH密鑰和用戶帳戶

我想要做的是使用GbFlow用戶上傳Android項目。當我嘗試,我輸入的Git bash命令行:

git init 
git remote add origin [email protected]:GbFlow/GlobalFlow.git 
git add .               
git commit 
git push -u origin master 

一切工作除了最後一行:git push -u origin master。在這一點上,我顯示錯誤:

Permission denied (publickey). 
fatal: Could not read from remote repository. 
Please make sure you have the correct access rights 
and the repository exists. 

我有密鑰創建。我做錯了什麼?

回答

2

Invitado表示這些ssh密鑰是使用Guest帳戶創建的。

如果您沒有登錄爲Guest,但與你的實際帳戶,ssh將尋找那些鍵在%HOME%\.ssh,與HOME默認設置爲%USERPROFILE%
類型set us查看USERPROFILE的值。

This key was generated using axmug user.

不要緊與當地 Windows帳戶創建這些密鑰。重要的是其中公衆id_rsa.pub被複制到:其中GitLab帳戶。請參閱「How to create your SSH Keys

這將是爲什麼GitLab不正確驗證你的第一個原因:搬完鑰匙在自己%USERPROFILE%\.sshGbFLow身份中受益(假設GbFlow輪廓具有公共密鑰在他/她的設置)。
類型ssh -T [email protected]確認您被看作GgFlow


如果從同一本地Windows帳戶(Invitado或其他),你需要管理兩個不同的GitLab遠程帳戶,然後看Working with non-default SSH key pair paths,並使用%USERPROFILE%\.ssh\config文件。

# GbFlow 
Host gbflow 
Hostname gitlab.com 
RSAAuthentication yes 
User git 
IdentityFile ~/.ssh/gbflow_rsa 

# axmug 
Host axmug 
Hostname gitlab.com 
RSAAuthentication yes 
User git 
IdentityFile ~/.ssh/axmug_rsa 

然後使用ssh網址bgflow:<user>/<repo.git>axmug:<user>/<repo.git>

此假設你已經創建兩套不同的SSH密鑰對的。

對於gbflow(重命名現有id_rsa/id_rsa.pub文件):

~/.ssh/gbflow_rsa 
~/.ssh/gbflow_rsa.pub 

對於axmug(含ssh-keygen -t rsa -P "" -C "axmug GitLab access" -q -f ~/.ssh/axmug_rsa):

~/.ssh/axmug_rsa 
~/.ssh/axmug_rsa.pub 
+0

謝謝回答VonC。在互聯網搜索後,我閱讀以下帖子:https://coderwall.com/p/7smjkq/multiple-ssh-keys-for-different-accounts-on-github-or-gitlab。但是當我使用ssh-add -D時,我無法連接到服務器。解決方法是鍵入eval'ssh-agent -s'並重試該命令。當我重新輸入時,我有同樣的錯誤:無法打開到您的身份驗證代理的連接。我該如何解決它? – axmug

+0

除非您創建了帶密碼的私有ssh密鑰,否則不需要該配置。 – VonC

+0

我輸入了我們,我什麼也沒看。輸入ssh -T [email protected]後,我看到權限被拒絕。我被卡住了。我不知道該怎麼辦。我知道我必須通過https上傳項目,但我不能這樣做,因爲當我輸入git push -u origin master時,我看到了同樣的錯誤:權限被拒絕。爲了上傳我的項目,我必須做些什麼?謝謝 – axmug