你好我尝试用ssh从windows到linux的rsync,但我有这样的消息: rsync:没有看到服务器问候语
我尝试从linux到linux的rsync ssh,它的工作原理。 所以这是我在Windows上的命令:
<script>
angular.module('app', [])
.controller('mainCtrl', ['$scope', function ($scope) {
$scope.checkVal = function () {
console.log('entered');
console.log($scope.data.user)
}
$scope.data = {
//to keep the data from the api or any static data
//this will used to show the data in the view
user: {
fname: '',
lname: '',
email: '',
password: ''
}
};
$scope.methods = {
//this will called from the views to interact with properties and data
//use methods to change the values
checkVal: function (ctrl) {
console.log('entered');
console.log(ctrl)
},
};
$scope.properties = {
//only to change views for ng-if and ng-show
}
}])
</script>
<body ng-app="app">
<div action="#" ng-controller="mainCtrl as ctrl">
<div id="modal-login" class="modal" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content">
<form ng-submit="methods.checkVal(data)">
<div class="modal-body">
<div class="form-group">
<input ng-model="data.user.email" type="text" name="user-email" placeholder="Email:" required>
</div>
<div class="form-group">
<input ng-model="data.user.password" type="password" name="password" placeholder="Password:" required>
</div>
</div>
<div class="modal-footer">
<div class="form-group clearfix">
<button type="submit" class="btn btn-primary">Login</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</body>
这是服务器auth.log:
C:\Temp\cwRsync_5.5.0_x86_Free\bin>Rsync -av -e "./ssh -i C:\Temp\id_rsa" /cygdrive/c/Temp ouistitis@192.168.1.12::.
Enter passphrase for key 'C:\Temp\id_rsa':
rsync: did not see server greeting
rsync error: error starting client-server protocol (code 5) at main.c(1648) [sender=3.1.2]
似乎客户端存在问题,版本问题?
这是cwrsync的免费版本。
THX
答案 0 :(得分:2)
如果你想通过SSH进行rsync,但是你得到“没有看到服务器问候”和“启动客户端 - 服务器协议时出错”,请确保使用单个冒号指定目的地在文件系统路径之前:
rsync -avz -e "ssh -i <somekey>" somedir <user>@<host>:somedir
在文件系统路径之前使用双冒号的目标(如<user>@<host>::somedir
)使rsync
使用其守护程序而不是SSH ,即使您使用-e
指定了SSH可执行文件标志。
在rsync手册中说明 - 当未指定端口时,您可以在目标文件系统路径之前使用双冒号查看单独的“通过rsync守护程序访问”部分:
SYNOPSIS Local: rsync [OPTION...] SRC... [DEST] Access via remote shell: Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST] Push: rsync [OPTION...] SRC... [USER@]HOST:DEST Access via rsync daemon: Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST] rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST] Push: rsync [OPTION...] SRC... [USER@]HOST::DEST rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST
我偶然发现了同样的问题,因为rsync的手册并不是很明显。
答案 1 :(得分:0)
最后它似乎是一个ssh版本的兼容性。 我最终选择了full sync 它使用ssh键处理sftp连接。 不如rsync好,但仍然非常好
答案 2 :(得分:0)
可能已使用rsync服务器的端口, 如果使用,rsync服务器也可以启动成功,但是有这样的问题:
rsync:没有看到服务器问候语 rsync错误:在main.c启动客户端 - 服务器协议(代码5)时出错(1503)[sender = 3.0.6]