Gitlab不能使用SSH密钥

我有问题与Gitlab。 我使用以下指南来安装和configurationGitlab https://github.com/gitlabhq/gitlab-recipes/blob/master/install/centos/README.md 。 安装似乎进展顺利,所有。 networking应用程序似乎工作正常。 但是我无法克隆,拉,推,基本上我不能使用Gitlab。 我在HTTP上看到了403个错误,并且在尝试通过SSH进行克隆时拒绝了这个权限。

我已经确保我的私钥在Windows和OS X上都能正确设置。我可以在服务器上看到公钥。 我在〜/ .ssh.config中的configuration文件中添加了以下内容

Host {hostname} User git Hostname {hostname} PreferredAuthentications publickey IdentityFile C:/Users/{username}/.ssh/id_rsa 

这是我在/ var / log / secure中看到的

 Jan 14 17:31:48 dev_version_control sshd[3696]: Connection closed by 192.168.17.113 Jan 14 17:32:18 dev_version_control sshd[3700]: Connection closed by 192.168.17.113 

当我尝试使用git或ssh时, /var/log/message没有作用

我不确定该从哪里出发。 有什么build议么?

我不知道你的意思是SSH使用git用户名。 我使用的指南没有为git用户创build密码,并声明用户不能用于login。

假如你已经把你的私钥加载到你的客户端上了,那么这听起来可能是'git'用户主目录和.ssh目录的权限问题。

请尝试将您的/ home / git目录更改为0711的掩码:

 chmod 0711 /home/git 

确保/home/git/.ssh目录的掩码是0700:

 chmod 0700 /home/git/.ssh 

确保/home/git/.ssh/authorized_keys文件的掩码为0600:

 chmod 0600 /home/git/.ssh/authorized_keys 

把/ home / gitreplace成“git”用户的主目录,如果在教程中有所不同的话。 如果不是权限,请发表评论,我们会看看还有什么问题。

我也build议检查该用户是否有适当的权限克隆/拉/推gitlab。 我只花了太多的时间寻找通过SSH / HTTPS的configuration,当问题的原因是用户在GITLAB没有足够的权限…

在我的情况下,我通过FreeBSD包安装了gitlab。 Gitlab SSH没有工作。 这是git的错误主目录:(vipw)

 git:*:211:211::0:0:gitosis user:/usr/local/git:/bin/sh 

我改变了这个:

 git:*:211:211::0:0:gitosis user:/home/git:/bin/sh 

如果主机名称中有“ – ”,就会发生这种情况。 (尽pipe根据RFC 952这是合法的。)

ssh提示我input名字中有' – '的主机的密码。 这看起来纯粹是sshconfiguration文件parsing的一个问题,因为给〜/ .ssh / config添加一个别名(并在我的git remote urls中使用这个别名)解决了这个问题。

换句话说,可以在C:/ Users / {username} /。ssh / config中添加如下内容

 Host {a} User git Hostname {ab.domain} IdentityFile C:/Users/{username}/.ssh/id_rsa 

和你有一个遥远的forms

 origin [email protected]:repo-name.git 

删除它,然后重新添加它使用窗体

 origin git@a:repo-name.git 

检查你的公钥是否只有一个logging(通过web脸部导入)在/home/git/.ssh/authorized_keys ,这个关键字有gitlab的前缀和标题。 换句话说,如果您在安装gitlab之前手动添加了相同的密钥,请将其删除。

运行eval $(ssh-agent)解决了我的问题。

我的问题是由puttygen创build和保存的私钥文件id_rsa具有与从ubuntu机器创build的格式不同的格式。 在我从ubuntu机器创build一个密钥后,将这些文件复制回Windows机器下的%UserProfile%.ssh文件夹,然后将新生成的公钥添加到Gitlab。 没有更多的权限拒绝给我