rsyn c дает несоответствие версии протокола на чистой оболочке WSL-> Debian - PullRequest
0 голосов
/ 11 февраля 2020

Я в оболочке WSL bash и пытаюсь rsyn c на удаленную машину облачного вещания (Debian) через s sh. Тем не менее, я получаю сообщение об ошибке несоответствия протокола.

Некоторые исследования показали, что наиболее распространенной причиной этого является нечистая оболочка, т. Е. Оболочка, которая печатает что-то при входе в систему. На удаленной машине я добавил. hushlogin для пользователя home, и я также добавил PS1 = "" в .bashr c, чтобы избавиться от приглашения (в каком-то посте).

Тестирование чистой оболочки показывает, что она действительно чистая. Следующие входы в систему без каких-либо сообщений или даже приглашения:

ssh -tt -i ~/id_rsa -F /dev/null -oStrictHostKeyChecking=yes -oUserKnownHostsFile=/mnt/c/Users/anonyuser/AppData/Roaming/GGP/ssh/known_hosts cloudcast@123.123.12.12 -p 44722 --

Ниже показано, что log.out создается с 0 байтами:

ssh -tt -i ~/id_rsa -F /dev/null -oStrictHostKeyChecking=yes -oUserKnownHostsFile=/mnt/c/Users/anonyuser/AppData/Roaming/GGP/ssh/known_hosts cloudcast@123.123.12.12 -p 44722 -- false > log.out

И все же это:

rsync -a -v -e "ssh -tt -i ~/id_rsa -F /dev/null -oStrictHostKeyChecking=yes -oUserKnownHostsFile=/mnt/c/Users/anonyuser/AppData/Roaming/GGP/ssh/known_hosts cloudcast@136.112.98.92 -p 44722 --" lol.txt cloudcast@123.123.12.12:/home/cloudcast/

дает версию несоответствия протокола.

Работа с -vvvv показывает это:

(Client) Protocol versions: remote=1752392034, negotiated=31

Я пытался добавить -q и / или -2 к команде s sh, где-то в другом посте, но без разницы.

Я проверил rsyn c версии, и они одинаковы на удаленной и локальной машине:

rsync  version 3.1.2  protocol version 31
Copyright (C) 1996-2015 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
    64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
    socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
    append, ACLs, xattrs, iconv, symtimes, prealloc

Локальная версия s sh: OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 De c 2017

Удаленная версия s sh: OpenSSH_7.4p1 Debian-10 + deb9u3, OpenSSL 1.0.2l 25 мая 2017

Есть идеи, что не так?

1 Ответ

0 голосов
/ 11 февраля 2020

Ну, на основании моего комментария выше я попробовал следующее: rsync -a -vvvv -e "ssh -tt -i ~/id_rsa -F /dev/null -oStrictHostKeyChecking=yes -oUserKnownHostsFile=/mnt/c/Users/anonyuser/AppData/Roaming/GGP/ssh/known_hosts -p 44722" lol.txt cloudcast@123.123.12.12:/home/cloudcast/

Обратите внимание, что внутри команды s sh нет IP, а также нет - . Это заставило меня пройти несоответствие версии протокола. Rsyn c все еще не работает, но, по крайней мере, это еще один шаг!

Редактировать: Окончательный ответ был:

rsync -a -vvvv -e "ssh -i ~/id_rsa -F /dev/null -oStrictHostKeyChecking=yes -oUserKnownHostsFile=/mnt/c/Users/anonyuser/AppData/Roaming/GGP/ssh/known_hosts -p 44722" lol.txt cloudcast@123.123.12.12:/home/cloudcast/

Обратите внимание, нет -tt для s sh команда. Это передача бин, д-э-э!

...