Gitlab 无法使用 SSH 密钥

gre*_*fox 11 ssh git gitlab

我在使用 Gitlab 时遇到问题。我使用以下指南来安装和配置 Gitlab https://github.com/gitlabhq/gitlab-recipes/blob/master/install/centos/README.md。安装似乎进行得很顺利。Web 应用程序似乎运行良好。但是我无法克隆、拉、推,基本上我基本上不能使用 Gitlab。尝试通过 SSH 进行克隆时,我看到 HTTP 和权限被拒绝的 403 错误。

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

Host {hostname}
    User git
    Hostname {hostname}
    PreferredAuthentications publickey
    IdentityFile C:/Users/{username}/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)

这是我在 /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
Run Code Online (Sandbox Code Playgroud)

/var/log/message当我试图使用Git或ssh没作用

我不知道从这里去哪里。有什么建议?

我不知道您所说的使用 git 用户名的 SSH 是什么意思。我使用的指南没有为 git 用户创建密码,并声明该用户不能用于登录。

jas*_*eey 10

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

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

chmod 0711 /home/git
Run Code Online (Sandbox Code Playgroud)

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

chmod 0700 /home/git/.ssh
Run Code Online (Sandbox Code Playgroud)

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

chmod 0600 /home/git/.ssh/authorized_keys
Run Code Online (Sandbox Code Playgroud)

将 /home/git 替换为 'git' 用户的主目录,如果它在教程中有所不同。如果不是权限,那么请发表评论,我们会看看还有什么问题。