Rsync via SSH funktioniert nicht


0

Ich möchte ein Backup von einer Synology DiskStation (DSM 6.0.2-8451 Update 9) auf einen CentOS6-Server mit Rsync über SSH erstellen.

CentOS6-Serverkonfiguration

/etc/rsyncd.conf

uid = root
gid = root
max connections = 10
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
auth users = synology
secrets file = /etc/rsyncd.secrets
max verbosity = 2
transfer logging = yes

[synology1]
path = /mnt/disk/synology/
hosts allow = xxx.xxx.xxx.xxx (Synology server's IP)
list = true
read only = no

/etc/xinetd.d/rsync

service rsync
{
    disable = no
    flags           = IPv6
    socket_type     = stream
    wait            = no
    user            = root
    server          = /usr/bin/rsync
    server_args     = --daemon
    log_on_failure  += USERID
}

Auf meinem System gibt es auch einen Systembenutzer namens "Synology", dessen Kennwort dem in /etc/rsyncd.secrets angegebenen "Synology" des Rsync-Benutzers entspricht.

Ich versuche das vom Synology Server:

rsync -av /tmp/try/ synology@xxx.xxx.xxx.xxx::synology1 -e 'ssh -v'

und erhalten:

OpenSSH_6.8p1-hpn14v6, OpenSSL 1.0.2j-fips 26. September 2016
debug1: Verbindung zu xxx.xxx.xxx.xxx [xxx.xxx.xxx.xxx] -Port xxxxx.
debug1: Verbindung hergestellt.
debug1: key_load_public: Keine solche Datei oder solches Verzeichnis
debug1: identitätsdatei /var/services/homes/admin/.ssh/id_rsa Typ -1
debug1: key_load_public: Keine solche Datei oder solches Verzeichnis
debug1: identitätsdatei / var / services / homes / admin /.ssh/id_rsa-cert Typ -1
Debug1: key_load_public: Keine solche Datei oder Verzeichnis
Debug1: Identitätsdatei /var/services/homes/admin/.ssh/id_dsa Typ -1
Debug1: key_load_public: Keine solche Datei oder Verzeichnis
Debug1: Identitätsdatei /var/services/homes/admin/.ssh/id_dsa-cert Typ -1
debug1: key_load_public: Keine solche Datei oder solches Verzeichnis
debug1: identitätsdatei /var/services/homes/admin/.ssh/id_ecdsa Typ -1
debug1: key_load_public: Keine solche Datei oder solches Verzeichnis
debug1: identitätsdatei / var / services / homes / admin /.ssh/id_ecdsa-cert Typ -1
Debug1: key_load_public: Keine solche Datei oder Verzeichnis
Debug1: Identitätsdatei /var/services/homes/admin/.ssh/id_ed25519 Typ -1
Debug1: key_load_public: Keine solche Datei oder Verzeichnis
Debug1: Identitätsdatei /var/services/homes/admin/.ssh/id_ed25519-cert Typ -1
Debug1: Aktivieren des Kompatibilitätsmodus für Protokoll 2.0
Debug1: Zeichenfolge der lokalen Version SSH-2.0-OpenSSH_6.8p1-hpn14v6
Debug1: Remote-Protokoll Version 2.0, remote Softwareversion OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH_5 * kompat 0x0c000000
debug1: Remote ist NICHT HPN bewusst
debug1: SSH2_MSG_KEXINIT gesendet
debug1: SSH2_MSG_KEXINIT erhielt
debug1: AUTH Zustand 0
debug1: BEANTRAGT ENC.NAME ist 'aes128-ctr'
debug1: kex: server-> client aes128-ctr umac-64@openssh.com keine
debug1: REQUESTED ENC.NAME ist 'aes128-ctr'
debug1: kex: client-> server aes128-ctr umac-64@openssh.com keine
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST ( 1024 <3072 <8192) gesendetes
Debug1: erhaltenes SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT gesendetes
Debug1: erhaltenes SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server-Hostschlüssel: ssh6saxxxxxxxxxxxxxxxxxxxxxxxxxxxx / xxxxxxxxxxxx
debug1: Host 'xxx.xxx.xxx.xxx' ist bekannt und stimmt mit dem RSA-Hostschlüssel überein.
debug1: Gefundene Schlüssel in /var/services/homes/admin/.ssh/known_hosts:1
debug1: SSH2_MSG_NEWKEYS gesendet
debug1: erwartete SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS erhielt
debug1: SSH2_MSG_SERVICE_REQUEST gesendet
debug1: SSH2_MSG_SERVICE_ACCEPT erhielt
debug1: Authentifizierungen , die weiter: publickey, gssapi -keyex, gssapi-with-mic, password
debug1: Nächste Authentifizierungsmethode: publickey
debug1: Privaten Schlüssel versuchen: /var/services/homes/admin/.ssh/id_rsa
debug1: Privaten Schlüssel versuchen: / var / services / homes / admin /.ssh/id_dsa
debug1: Privaten Schlüssel versuchen: /var/services/homes/admin/.ssh/id_ecdsa
debug1: Privaten Schlüssel versuchen: /var/services/homes/admin/.ssh/id_ed25519
debug1: Nächste Authentifizierungsmethode: Passwort
synology@xxx.xxx.xxx.xxx's Passwort:
debug1: Authentifizierung erfolgreich (Passwort).
Authentifiziert bei xxx.xxx.xxx.xxx ([xxx.xxx.xxx.xxx]: xxxxx).
debug1: HPN Nicht HPN Verbindung
debug1: Schluss hpn_buffer_size = 2097152
debug1: HPN Deaktiviert: 0, HPN - Puffergröße: 2097152
debug1: Kanal 0: new [Client-Sitzung]
debug1: Dynamische Fensterskalierung aktiviert
debug1: Anfordern von no-mehr- sessions@openssh.com
debug1: Aufrufen einer interaktiven Sitzung.
debug1: Sende Befehl: rsync --server --daemon.
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
debug1: channel 0: free: client-session, nchannel 1
debug1: fd 0 clearing 0_NONBLOCK
debug1: fd 0 clearing O_NONBLOCK
Transferred: 2872 gesendet, erhielt 2544 Bytes, in 0,2 Sekunden
Bytes pro Sekunde: 14.501,0 gesendet, empfangen 12844,9
debug1: Wert 1
rsync Fehler: rsync Dienst nicht ausgeführt wird (Code 43) an io.c (687) [sender = 3,0 .9]

Ooooh, bin ich nach mehreren Versuchen und stundenlangem, verschwommenem Googeln verwirrt? Einige Fragen um meinetwillen!

1 / Muss ich auf meinem CentOS-System und in der rsync-Konfiguration dasselbe Konto (Benutzer / Passwort) haben, um über ssh rsync zu können?

2 / Was ist die Ursache für meinen " rsync error: rsync service is no running "? irgendeine Idee?

Danke für jede Hilfe!

Antworten:


1

Möglicherweise versuchen Sie, zwei leicht unterschiedliche Verwendungen von rsync als Dämon zu kombinieren. Ihre Server - Konfiguration auf Anfragen auf dem rsync - Port reagiert 873, während Ihr Befehl verbindet -e sshund so läuft rsync --server --daemonüber diese Verbindung statt. Wenn Sie sich den Manpage-Eintrag ansehen, wird --config=FILEdarauf hingewiesen

Die Standardeinstellung ist /etc/rsyncd.conf, es sei denn, der Dämon wird über ein Remote-Shell-Programm ausgeführt und der Remote-Benutzer ist nicht der Superuser. In diesem Fall ist die Standardeinstellung rsyncd.conf im aktuellen Verzeichnis (normalerweise $ HOME).

In Ihrem Fall scheinen Sie den Benutzer zu verwenden synology, daher sollte sich die Datei rsyncd.conf wahrscheinlich im Verzeichnis befinden ~synology/.


In der Tat musste ich eine neue rsyncd.conf in meinem Synology-Benutzerhaus erstellen und diese so ändern, dass sie auf Dateien (Protokoll, Sperre usw.) hinweist, die sich in genau diesem Ordner befinden. Gut beobachtet !
Bob

0

1 / Muss ich auf meinem CentOS-System und in der rsync-Konfiguration dasselbe Konto (Benutzer / Passwort) haben, um über ssh rsync zu können?

Nein, schon gar nicht.

2 / Was ist die Ursache für meinen "rsync error: rsync service is no running"? irgendeine Idee?

Auf dem Server wird kein rsyncDienst ausgeführt. Diesen Teil vermissen Sie höchstwahrscheinlich (gemäß diesem Tutorial ):

/etc/rc.d/init.d/xinetd start 
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.