Я пытаюсь сделать резервную копию своего Raspberry Pi 3 (Raspbian) на свой настольный компьютер (Windows 10 Pro). На данный момент я могу использовать SSH в любом направлении, указав файл закрытого ключа.
Для SSH в RPi из Windows: ssh root@192.168.1.107 -i H:/ssh/BB8.OpenSSH.ppk
(root, чтобы убедиться, что во время тестирования у меня нет ошибок прав доступа).
Для SSH в Windows из RPi: ssh matt@192.168.1.100 -i /home/pi/.ssh/RPi3.OpenSSH.ppk
Следующая команда rsync не работает: (Windows> RPi)
rsync -vvvvna --exclude={"/proc/*","/sys/*","/dev/*","/boot/*","/tmp/*","/run/*","/mnt/*"} -e "ssh -i H:/ssh/BB8.OpenSSH.ppk" root@192.168.1.107:/* /cygdrive/h/Users/Matt/Documents/RPi3_Backup
Rsync сообщает, что «соединение неожиданно закрыто», а в журналах SSH RPi говорится, что «получено отключение от 192.168.1.100».
Вывод Rsync:
cmd=ssh -i H:/ssh/BB8.OpenSSH.ppk machine=192.168.1.107 user=root path=/*
cmd[0]=ssh cmd[1]=-i cmd[2]=H:/ssh/BB8.OpenSSH.ppk cmd[3]=-l cmd[4]=root cmd[5]=192.168.1.107 cmd[6]=rsync cmd[7]=--server cmd[8]=--sender cmd[9]=-vvvvnlogDtpre.iLsfxC cmd[10]=. cmd[11]=/*
opening connection using: ssh -i "H:/ssh/BB8.OpenSSH.ppk" -l root 192.168.1.107 rsync --server --sender -vvvvnlogDtpre.iLsfxC . "/*" (12 args)
msg checking charset: UTF-8
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
[sender] _exit_cleanup(code=12, file=io.c, line=235): entered
rsync error: error in rsync protocol data stream (code 12) at io.c(235) [sender=3.1.2]
[sender] _exit_cleanup(code=12, file=io.c, line=235): about to call exit(12) (DRY RUN)
rsync: safe_read failed to read 4 bytes [Receiver]: Connection reset by peer (104)
[Receiver] _exit_cleanup(code=12, file=io.c, line=276): entered
rsync error: error in rsync protocol data stream (code 12) at io.c(276) [Receiver=3.1.2]
[Receiver] _exit_cleanup(code=12, file=io.c, line=276): about to call exit(12) (DRY RUN)
/var/log/auth.log:
May 27 20:01:20 raspberrypi sshd[9928]: Accepted publickey for root from 192.168.1.100 port 56787 ssh2: RSA SHA256:bYwS/mZ7XYmMlim3gEaSxZ+p22wU3i0NypvFj6ZPPAA
May 27 20:01:20 raspberrypi sshd[9928]: pam_unix(sshd:session): session opened for user root by (uid=0)
May 27 20:01:20 raspberrypi systemd-logind[476]: New session c33 of user root.
May 27 20:01:20 raspberrypi systemd: pam_unix(systemd-user:session): session opened for user root by (uid=0)
May 27 20:01:20 raspberrypi sshd[9928]: Received disconnect from 192.168.1.100 port 56787:11: disconnected by user
May 27 20:01:20 raspberrypi sshd[9928]: Disconnected from 192.168.1.100 port 56787
May 27 20:01:20 raspberrypi sshd[9928]: pam_unix(sshd:session): session closed for user root
May 27 20:01:20 raspberrypi systemd-logind[476]: Removed session c33.
May 27 20:01:20 raspberrypi systemd: pam_unix(systemd-user:session): session closed for user root
Обычно - как только я публикую здесь, я решаю проблему (которая сохранялась после ужина и часов отладки ...)
Сервер OpenSSH, который можно включить в качестве дополнительной функции Windows 10, не очень хорошо работает с Cygwin rsync. Я установил OpenSSH через Cygwin, и все подключается, как ожидалось.
rsync -nva --exclude={"/proc/*","/sys/*","/dev/*","/boot/*","/tmp/*","/run/*","/mnt/*"} -e "C:/cygwin64/bin/ssh.exe -i /cygdrive/h/ssh/BB8.OpenSSH.ppk" root@192.168.1.107:/* /cygdrive/h/Users/Matt/Documents/RPi3_Backup