Я безуспешно пытаюсь скопировать файлы с одного хоста Windows на другой, используя либо cygwin
или powershell и rsync.exe. На хосте Windows я хочу отправить копию, которая у меня есть openssh
установлен, я могу подключиться к нему через Telnet по 22 и отправлять файлы через scp. Но когда я пытаюсь скопировать на него файлы с компьютера с Windows или Linux, я получаю следующую ошибку:
'rsync' is not recognized as an internal or external command,
operable program or batch file.
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(235) [sender=3.1.1]
Это команда, которую я использую для копирования из PowerShell:
.\rsync.exe -avzh --stats -P -e C:\Users\Administrator\Desktop\rsync\ssh.exe rs
ync.html 'administrator@ip:C:\\'
Когда я запускаю ту же команду, но пытаюсь скопировать на машину CentOS 7, я меняю только administrator@ip:C:\\
к root@ip:/root/
и это работает.
Если у вас есть идеи, в чем может быть проблема, или вам нужна другая информация, сообщите мне.
К сожалению, я не могу ответить на ваш вопрос напрямую, однако, по моему опыту, могу дать вам такой же хороший обходной путь, в то время как Cygwin может дать вам хорошую платформу для использования команд Linux в Windows. Имейте в виду, что Windows - это не Linux.
У большинства команд Linux есть аналог для Windows, да, некоторые из них не однострочные, но вы смотрели на robocopy?
Робокопия - https://en.wikipedia.org/wiki/Robocopy
Поставляется установленным и может использоваться с PowerShell.
На ваше рассмотрение: я создал удобный пакет OpenSSH, который включает rsync:
https://github.com/Bill-Stewart/CygSSH
Он использует Cygwin v3, поэтому не требует специальной учетной записи службы (служба работает как SYSTEM
).
Намерение состоит в том, чтобы предоставить удобную упаковку OpenSSH и rsync, которая (относительно) удобна для установки и использования на машинах Windows, поэтому у нее есть некоторые настройки по умолчанию и возможности, которые больше ориентированы на Windows:
sshd_config
; поддерживаются вложенные группы (например, если вы хотите управлять членством через GPO)Для пакета требуется Vista / Server 2008 или новее и Windows PowerShell 2.0 или новее.