如果你是容器或者二进制安装启动的gitlab,在克隆代码一直有这样的问题
正克隆到 'h5'...
git@192.168.0's password:
Permission denied, please try again.
服务 | ip |
git | 192.168.40.15 |
gitlab | 192.168.40.17 |
1、 docker run -d --name gitlab -p 80:80 -p 224:22 -p 433:443 -v /opt/gitlab/etc/:/etc/gitlab -v /opt/gitlab/data/:/var/opt/gitlab -v /opt/gitlab/log/:/var/log/gitlab -v /root/.ssh/:/root/.ssh --restart unless-stopped gitlab/gitlab-ce:latest
我的启动命令
我是把宿主机的/root/.ssh/挂载到容器里面,让容器和宿主机的公钥一样
解决方法1、
在git服务上生成自己的公钥、配置gitlabweb服务界面上面,在添加到gitlab服务的/root/.ssh/authorized_keys里面
然后使用 记得重启ssh
git clone git@192.168.40.17:devops/h5.git
以上方法不行,处理方法2
解决方法2、
在git服务上的/root/.ssh/config
vim /root/.ssh/config
Host 192.168.40.17 #别名写什么都可以
HostName 192.168.40.17 #gitlab所在的服务器ip
Port 224 #ssh 我是22映射到224 看你启动gitlab使用端口号记得修改
User root #对应的gitlab用户,应该可加可不加
然后重启一下sshd systemctl restart sshd
在 git clone git@192.168.40.17:devops/h5.git
3、解决方法3 如果以上方法还是不可以
切换到gitlab服务器上
[root@test-02 .ssh]# docker exec -it gitlab /bin/bash
root@e7cba134b748:/# vi /etc/ssh/sshd_config
开启这三个配置
Port 22
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
重启gitlab docker restart gitlab
这是我处理的全部操作
这个连接是另一种处理方法
gitlab配置公钥,一直输入密码_小鸡,啄米的博客-CSDN博客