Назад | Перейти на главную страницу

Rsync Отправка файлов из Linux в Windows. проблема ssh - в соединении отказано

По какой-то причине я хочу запустить сценарий для перемещения файлов с машины Linux на Windows. Я установил cwRsync на свой компьютер с Windows и могу подключиться к компьютеру с Linux.

Когда я выполняю следующую команду:

rsync -e "ssh -l "piyush"" -Wgovz --timeout 120 --delay-updates --remove-sent-files /usr/local/src/piyush/sync/* "piyush@10.0.0.60:/cygdrive/d/temp"

Где 10.0.0.60 - моя машина с вдовами, и я запускаю указанную выше команду в Linux - CentOS 5.5.

После выполнения команды я получаю следующее сообщение об ошибке:

ssh: connect to host 10.0.0.60 port 22: Connection refused
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(463) [sender=2.6.8]
[root@localhost sync]# ssh uniken@10.0.0.60
ssh: connect to host 10.0.0.60 port 22: Connection refused

Я изменил настройки брандмауэра на вдовах, чтобы разрешить все порты. Я думаю, что эта проблема связана с тем, что на моем компьютере с Windows нет SSH Daemon. Поэтому я попытался установить OpenSSH на свой компьютер и запустить ssh-agent, но это не помогло.

Я пробовал запустить аналогичную команду на моей машине вдовы, чтобы вытащить файлы из Linux, и она отлично работает. По какой-то причине мне нужна команда для Linux-машины, чтобы я мог встроить ее в сценарий оболочки.

Можете ли вы предложить мне, если я что-то упускаю.


У меня уже установлен cwRsync на моих вдовах и я запускаю его в режиме демона с помощью опции --damemon. И я могу войти в систему с помощью ssh с машины Windows на машину Linux.

Когда я запускаю следующую команду, она просто блокируется на 120 секунд (тайм-аут, который я указал в команде) и выходит, говоря, что есть тайм-аут.

rsync -e "ssh -l piyush" -Wgovz --timeout 120 --delay-updates --remove-sent-files /usr/local/src/piyush/sync/* "piyush@10.0.0.60:/cygdrive/d/temp"

После запуска rsync на вдовах проверил, работает rsyc. И настройки брандмауэра widows установлены на минимальное значение, а на компьютере Linux остановлена ​​служба iptables, чтобы порт 873 (порт rsync по умолчанию) не был заблокирован.

В чем может быть возможная причина того, что машина Linux не может подключиться к rsync-daemon на машине Windows?

Пиюш, rsync в режиме демона поддерживает подключение по протоколу rsync, а не только по протоколу ssh.

Изменить:

rsync -e "ssh -l piyush" -Wgovz --timeout 120 --delay-updates --remove-sent-files /usr/local/src/piyush/sync/* "piyush@10.0.0.60:/cygdrive/d/temp"

кому:

rsync -Wgovz --timeout 120 --delay-updates --remove-sent-files /usr/local/src/piyush/sync/* rsync://piyush@10.0.0.60:/cygdrive/d/temp

cwRsync:

Rsync обычно использует ssh для связи. Не требует особых привилегий для установки. Однако у вас должна быть работающая система ssh.

Я полагаю, у тебя этого нет. Я могу рекомендовать cygwin (делать ssh-host-config после установки). Однако это часто бывает непросто (воспринимается как).

Вы также можете использовать rsync демон.

  1. написать rsyncd.conf
  2. запустите демон rsync (обратитесь к документации cwRsync или просто запустите вручную rsync --daemon пока) на машине windows
  3. вместо того piyush@10.0.0.60:/some/real/path использовать, например, piyush@10.0.0.60::somemodule/subpath/file.txt

некоторый фон: http://www.itefix.no/i2/node/10650