我正在尝试使用gulp来处理从本地开发环境到正在运行的流浪机器的rysnc任务。
吞咽任务设置如下:
var rsync = require('rsyncwrapper').rsync;
var secrets = require('./secrets.json');
// ###Rsync
// Ran from gulp
gulp.task('deploy', function() {
rsync({
ssh: true,
src: './website/',
dest: secrets.servers.dev.rsyncDest,
recursive: true,
syncDest: true,
exclude: ['node_modules'],
args: ['--verbose'],
privateKey: './.vagrant/machines/default/virtualbox/private_key',
onStdout: function (data) {
console .log (data.toString ());
}
},function (error,stdout,stderr,cmd) {
if ( error ) {
// failed
console.log(error.message);
} else {
// success
console.log("folder synced!");
}
});
});secrets.json包含到我的目标vagrant机器的路径:
{
"servers": {
"dev": {
"rsyncDest": "vagrant@192.168.2.101:/opt/webiste"
}
}
}我的gulp文件的其余部分可以正常工作,正常的流浪rsync也可以传输文件。
然而,当我运行我的任务deploy时,我只是得到: Rsync退出并返回代码12。
经过一些谷歌搜索后,我发现这意味着协议流失败了,但我甚至不确定从哪里开始尝试解决这个问题。
任何帮助都将不胜感激!
发布于 2016-08-10 02:24:42
我遇到了同样的问题。它发生在我销毁并重建我的流浪汉机器时,但我将旧密钥留在了~/.ssh/known_hosts文件中。错误消息gulp rsync无济于事。如果您尝试直接登录,您将得到如下错误:
>> ssh vagrant@192.168.50.104
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
87:9b:39:02:b8:96:6b:21:01:fa:b5:42:5f:0a:0b:f7.
Please contact your system administrator.
Add correct host key in /Users/me/.ssh/known_hosts to get rid of this message.
Offending RSA key in /Users/me/.ssh/known_hosts:36
RSA host key for 192.168.50.104 has changed and you have requested strict checking.
Host key verification failed.要修复此问题,请编辑文件~/.ssh/known_hosts。删除您的流浪者机器的主机密钥行。在我的例子中,它是以192.158.50.104开头的行。
下次运行gulp rsync时,必须在提示符下输入yes。
https://stackoverflow.com/questions/30435877
复制相似问题