Fernwartung mit SSH

☰ Menü

Beginn :: Ergänzende Aspekte

Ordner synchronisieren

 

Warum auch hier SSH?

Wie Sie den OpenSSH Manual pages entnehmen können, gehören zu SSH auch Kopierprogramme wie SCP (Secure Copy) und SFTP (Secure File Transfer Program). Diese Programme sind auf OpenSSH aufgesetzt. Sie bieten leicht zu benutzende, aber sichere Alternativen zu den unsicheren, weil unverschlüsselten Befehlen RCP (Remote Copy) und FTP (File Transfer Program). Es versteht sich von selbst, dass die letzten beiden Programme im Internet nicht verwendet werden dürfen. Dummerweise ist FTP bei der Mehrzahl der Freehoster immer noch die einzige Möglichkeit, Daten auf eine private Webseite hochzuladen. Natürlich müssen Sie die FTP-Zugangsdaten, also Benutzername und Passwort, in Ihren FTP-Client, z.B. FileZilla eingeben. Sie ahnen es schon! Ja es ist wirklich so: Benutzername und Passwort werden unverschlüsselt im Internet übertragen. Wenn es sich schon nicht vermeiden lässt, FTP im Internet zu nutzen, achten Sie wenigstens darauf, dass Sie die gleichen Anmeldedaten, wie Sie sie für FTP nutzen, nicht auch noch für Ihre Bankverbindung, Ihr Shoppingportal oder Ihre sozialen Netzwerke verwenden. Sie müssen zwingend damit rechnen, dass Ihre Daten missbraucht werden. Jemand schreibt Facebook-Einträge mit Ihren Namen, schiebt Sie in der Highscoreliste irgendwelcher Spiele nach oben, tätigt Forenbeiträge mit fragwürdigem Inhalt, für die man Sie auch rechtlich verantwortlicht macht.

Es geht kein Weg daran vorbei, sich mit sicherer Datenübertragung zu beschäftigen. Dies ist glücklicherweise genauso einfach wie RCP oder FTP. Das Windowsprogramm WinSCP bietet alles was Sie brauchen. Mit ihm lassen sich Kopier- und Synchronisationsvorgänge zwischen verschiedenen Rechnern in beliebigen Netzen einfach und sicher automatisieren.

 

WinSCP parametrieren

Der SSH-Server läuft bereits. Es geht also nur noch darum, den Client vorzubereiten. WinSCP hat eine Skripting-Schnittstelle. Besonders interessant ist die auf dem Youtube-Kanal datastorageunit dokumentierte Lösung WinSCP Script Example. Auf winscp.net/eng/docs/scriptcommand_synchronize finden Sie eine detaillierte Darstellung aller Optionen.

Das Verfahren besteht aus folgenden Schritten.

  1. Einen Order namens sync erstellen und die Datei WinSCP.exe hineinlegen.
  2. WinSCP starten, eine SCP- oder SFTP-Verbindung zum SSH-Server und diese als Favorit in WinSCP ablegen.
    WinSCP
  3. Eine Datei local2remote.bat in diesem Ordner erstellen.
    winscp.exe /console /script=local2remote.txt
    
  4. Eine Datei local2remote.txt im selben Ordner erstellen.
    open my-server
    synchronize remote "P:\data" "/home/sshuser/data"
    exit
    
  5. Starten Sie das Skript local2remote.bat, wird der Inhalt des lokalen Ordners D:\winscp\upload auf den Ordner /home/sshuser/upload kopiert.
  6. Natürlich geht es auch umgekehrt, wie Datei remote2local.txt zeigt:
    open my-server
    synchronize local "P:\data" "/home/sshuser/data"
    exit
    
  7. oder bidirektional, s. Datei sync.txt:
    open my-server
    synchronize both "P:\data" "/home/sshuser/data"
    exit
    

Im Einzelnen:

Mit open my-server nimmt das Skript Bezug auf die in WinSCP als Favorit abgespeichert Verbindung.

Mit der Option remote, local oder both legen Sie die Übertragungsrichtung der Anweisung synchronize fest. Dahinter folgt die Angabe des Ordners Ihres Windows-Rechners, gefolgt vom Ordner auf dem SSH-Linux-Server.

Zu guter Letzt folgt das Schlüsselwort exit.

Sie sollten dieses Verfahren unbedingt ausprobieren!

 

Tipp für eigene Projekte:
Sie können den Kopier- bzw. Synchronisationsvorgang automatisieren, wenn Sie das Batch-Skript in die Aufgabenplanung Ihres Windows-Rechners eintragen. Der Ordnerinhalt wird dann regelmäßig zu festgelegten Zeiten gesichert.

 

 Zu guter Letzt:
Diesen Minikurs zum Mitnehmen gibt's im Fundus zum Download .

Beginn :: Ergänzende Aspekte

W. Hermanns, © 2017