我正在尝试将我的代码部署到远程服务器。到目前为止我已经试过了
我得到的是:
[JenkinsBuild] $ /bin/sh -xe /var/lib/jenkins/tmp/hudson4646064064846581974.sh
+ rsync -PSauve ssh --exclude=JenkinsBuild app bower.json config gruntfile.js karma.conf.js LICENSE.md Makefile node_modules package.json Procfile protractor.conf.js public README README.md server.js john@192.168.2.10:/srv/dp/prod
Host key verification failed.
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(600) [sender=3.0.6]
知道我在这里做错什么了吗?
发布于 2014-09-10 20:05:39
嗯,我替换了know_host文件,但我仍然有问题。因此,对于任何有know_host文件问题的人,您都可以通过执行以下操作来修复这个违规的键:
ssh-keygen -R hostnameOfOfendingKey
这将删除频繁的键,现在您的known_host文件又开始工作了。
为了解决另一个问题,我在另一个地方找到了答案:https://stackoverflow.com/questions/25755418/executing-rsync-in-jenkins/25770519#25770519
这就是我为解决问题所做的
sudo su jenkins -s /bin/bash
然后,当jenkins用户将我的ssh键复制到我想要连接/执行命令的服务器时,等等。
ssh-copy-id myuser@TheRemoteserver.com
然后它会呈现给你这个
myuser@TheRemoteserver.com's password:
Now try logging into the machine, with "ssh 'myuser@TheRemoteserver.com'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
然后我这样做是为了测试目的:
bash-4.1$ rsync -PSauve ssh --exclude=JenkinsBuild /srv/pd/* myuser@TheRemoteserver.com:/srv/pdc/test1
没问密码什么的就通过了。请注意,我仍然以jenkins的身份登录。
所以现在,当我使用一些shell命令创建Jenkins作业作为构建的一部分时,它将像预期的那样工作:D
发布于 2014-09-10 13:43:29
Host key verification failed.
运行jenkins的帐户对于您要在~/.ssh/known_hosts.
中运行的机器的主机键可能有一个坏值。
发布于 2017-03-22 10:44:20
我也有过类似的问题。
在我的示例中,jenkins没有与预期的用户(jenkins)执行rsync,而是与另一个用户执行rsync(在我的例子中是jboss),在脚本中添加'whoami
‘,并使用ssh详细的:
rsync -e "ssh -v" .......
帮助发现了问题。
https://serverfault.com/questions/627552
复制相似问题