2016-12-29 128 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