gitlab 无法通过 ssh 拉代码
前言
在文章https://xie.infoq.cn/article/717e177a33cad6a930e3a4849中,安装了 gitlab 当时的最新版,但在使用过程中,发现使用 ssh 方式无法拉代码,问题的排查过程记录如下。
问题解决
1、查看公钥是否加到 gitlab 中
查看目录/data1/gitlab_production/.ssh(该目录是在搭建 gitlab 时配置的 ssh 公钥存储的位置)下的 authorized_keys 文件中,公钥是否被添加到该文件中,发现该文件为空,并没有任何公钥被添加到该文件中。
2、重新配置公钥存储的文件
执行命令 gitlab-rake gitlab:shell:setup --trace,发现报错无权读写该文件,需要将.ssh 文件夹的用户改成 git 用户,且是可写权限,修改完成后执行上述命令。
3、使用 ssh 方式 clone 代码,提示需要输入密码
使用命令 ssh -vT git@IP 查看详细的输出,发现是 ssh 验证未通过,所以才会继续使用密码进行验证。
4、查看系统中的 git 用户
打开文件/etc/passwd,找到 git 用户,发现这块存储的目录和我们 gitlab 配置的公钥目录不一致,手动将这块改成一致的,发现 clone 成功。
备注:物理机直接安装 git 时,ssh clone 代码需要使用与本机 ssh 服务相同的端口,如果本机 ssh 端口更改,则 gitlab 的配置也需要修改,修改完成后执行 gitlab-ctl reconfigure 重新配置。
版权声明: 本文为 InfoQ 作者【阿呆】的原创文章。
原文链接:【http://xie.infoq.cn/article/6373d455688838128d2c61cc1】。文章转载请联系作者。
评论