Jenkins执行git命令报错:Host key verification failed.

在jenkins集成给it,执行git命令测试如下:

git ls-remote -h username@mygit.com:username/myproject.git HEAD

报错如下:

Failed to connect to repository : Command "git ls-remote -h username@mygit.com:cc/myproject.git HEAD" returned status code 128:
stdout:
stderr: Host key verification failed.
fatal: The remote end hung up unexpectedly

原因

这需要使用jenkins用户访问mygti.com的主机添加到~/.ssh/known_hosts。

解决

切换为jenkins用户:

sudo su -s /bin/bash jenkins

在jenkins用户下执行刚才的git命令:

git ls-remote -h username@mygit.com:username/myproject.git HEAD

在终端提示如下:

The authenticity of host 'mygit.com (xxx.xxx.xxx.xx)' can't be established.
RSA key fingerprint is 84:8c:14:f2:6f:14:6d:6c:3b:fc:ac:49:a6:7c:7a:41.
Are you sure you want to continue connecting (yes/no)?

输入yes回车。这时,mygit.com就已经添加到~/.ssh/known_hosts。

版权声明:著作权归作者所有。

相关推荐

Git命令大全(清单收藏)

这个可以作为Git命令的清单来收藏。转自:https://gist.github.com/guweigang/9848271git init # 初始化本地git仓库(创建新仓库) git config --global user.name "xxx" #

在shell脚本使用sftp登陆远程服务执行命令

有时我们需要定期登陆到远程服务器去去执行一些命令,sftp是一个让我们在shell脚本登陆到远程服务器的工具,这里演示一个例子:echo "sftp start" >> ~/logfile.log sftp username@host <<EOF >> ~/lo

Jenkins集成Git ssh key密钥认证

Jenkins有两种方法集成Git的ssh key认证:这种方法很简单,只要把私钥拷贝到jenkins用户的~/.ssh目录,当git使用ssh访问仓库时会尝试使用此私钥。1、切换为jenkins用户$sudo su jenkins 2、创建.ssh目录,已存在目录忽略此步$cd ~ $mkdir .ssh 3、创建访问git的ssh k