文章目录
该文章已同步收录到我的博客网站,欢迎浏览我的博客网站,xhang’s blog
1.问题描述
使用docker安装Jenkins,在源码管理中填写完
Repository URL
后,出现以下报错(可以确定是公钥和私钥配置没有问题):
2.问题思考
对于以上问题,困扰了我很久,随即引发了我的思考:
- 以前我是使用war包安装的,git、jdk都是使用主机本身的环境。而使用docker安装jenkins,在jenkins内部默认是安装了git和jdk的,所以说如果是容器的方式,就不用使用宿主机的环境(不需要挂载目录)。
git源码管理
出现无法连接仓库的问题首先排查ssh连接的问题:在使用war包的方式安装的时候,由于jenkins直接运行在主机,所以应在在主机上的/root/.ssh
目录下生成id_rsa(私钥)
和id_rsa.pub(公钥)
。而容器的方式,容器和宿主机是两个相互隔离的文件系统,所以应该在容器内部的/root/.ssh
目录下生成id_rsa(私钥)
和id_rsa.pub(公钥)
,而不是宿主机。
3.解决方案
- 进入容器内部生成公钥私钥
ssh-keygen -t rsa
- 在github中点击setting,添加SSH Key
- SSH添加成功
- 测试ssh连接:
ssh -T [email protected]
- 如果此时报错,报错为ssh连接超时(22端口),,那可以使用443端口:
- 使用以下命令在容器内部安装vim命令:
apt-get update apt-get -y install vim
- 在/root/.ssh目录下创建一个config文件
vim config
- 写入以下内容:
Host github.com Hostname ssh.github.com Port443
- 再次测试ssh免密连接:
ssh -T [email protected]
显示成功验证:
- 尝试使用ssh免密连接的方式克隆项目:
- 配置完成就不会报错
本文转载自: https://blog.csdn.net/qq_52030824/article/details/135864441
版权归原作者 ☜阳光 所有, 如有侵权,请联系我们删除。
版权归原作者 ☜阳光 所有, 如有侵权,请联系我们删除。