Autor Thema: Kopieren von Dateien zwischen zwei Servern  (Gelesen 4944 mal)

Offline Carsten Sievers

  • Global Moderator
  • Newbie
  • *****
  • Beiträge: 6
    • Profil anzeigen
    • Profihost AG
Kopieren von Dateien zwischen zwei Servern
« am: 14.04.2016 09:53 »
Ein Beispiel wie man zwischen zwei Servern Dateien mittels rsync und SSH sicher Daten austauschen kann:

1. Loggen Sie sich mittels SSH auf Ihren Testserver ein.

Beispielkommando:
ssh meinbenutzername@mein_server_mit_den_daten(oder IP des Servers)

2. Legen Sie einen SSH Key an mittels
ssh-keygen -t rsa -b 4096

Enter file in which to save the key (/meinbenutzername/.ssh/id_rsa):
( Hier mit ENTER bestätigen )
     
Enter passphrase (empty for no passphrase): 
( Hier ein Passwort eingeben wenn gewünscht ( empfohlen ) )                       

3. Lassen Sie sich Ihren Publikkey anzeigen. Dieser ist Ihr Schlüssel für den anderen Server auf den die Daten kopiert werden sollen und wird gleich von uns dort abgelegt.
cat .ssh/id_rsa.pub

Die Ausgabe hiervon markieren Sie bitte und halten es in der Zwischenablage oder speichern es kurz in einen Texteditor.

Beispielausgabe:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDDFY+9qXZ+3dwL2jQl3nJF1F/FwpqTbPeBABW1JA5wQOS2zOxb5TM0RrgUO+R3P5IZKUhHGOtK1I++hsdQMngFsnJAgm7SE77cLQb1St3k4Jkj+4gvUVm8QWWDx69cr2lMVfjSp44zaG293gSeHpEwTagxYBAIEMhErS4QVPHZOBjpvxY9tOJNw0x+fXWbH5FhCZOU5UpsQ6VSLloXcaHEuYMf/Y9pc6VGdPA1lbEujQETL591KetvneyOXoDk5whucSe+M1tSpzx1bY9ERFRDrGmt/2L367z1dvI/eNNNa+8XZSWBlJod66nYWhbYjaAMl4sHFmSrn3+YP3/nvbyGeT64VXX3FTfY5v3UxPsab7UJ/Vz9RWh+YYJxrMIYSXLRc9KaQzYPNecSC0mTngQFjt5dEkq8zqBmGNpUag2u//FRMEi54CaPnLpkoZ4PU7FNZMrY3wZOmOS3c+sqWfne2f6AyQSLaZQp57w85wipbW2r/dO8mWMeYcp0Ax0oa9QISx67vKZ6bSc302uPBwB8YqCFXHsoUDD3xHOt6XFtlxsfI+RzMLkL0g4DHYl1JkwkRt31LhUHf2zVVMSIBzJx7N2fUA4wlRp9fA2y8xA2U3MKE9HsBdd21oqfeGsjc1TOZ/PN24KXOfvbdzH2eQwo+M/FZjR2Zq6M7s7PoSoNaw==

4. Jetzt loggen wir uns auf den Server ein auf den wir die Daten kopieren wollen ( bleiben Sie ruhig auf Ihrem Server auf dem wir eben waren eingeloggt, hier wollen wir ja gleich die Daten kopieren )
Hier haben Sie meißtens einen anderen Benutzer als auf dem System eben. Das ist für unser Ziel aber kein Hinderniss.

ssh meinbenutzername@mein_server_noch_ohne_daten(oder IP des Servers)

5. Dort führen wir folgende Kommandos aus.
Diese bewirken, das wir einen .ssh Ordner anlegen wo wir dann eine Datei erstellen namens authorized_keys in der wir unseren in Schritt 3 erzeugten Schlüssel hinterlegen.

mkdir .ssh
chmod 700 .ssh
touch .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
[code]

6. Nun legen wir den in Schritt erzeugten Schlüssel hier ab.
Dazu gibt es zwei Möglichkeiten:

- Sie öffnen mit einem Texteditor wie [b]vi[/b] oder [b]nano[/b] die Datei [b]authorized_keys[/b] dort fügen Sie die in Schritt drei abkopierte Ausgabe ein.
Entweder aus der Zwischenablage oder aus der Datei wo Sie die Ausgabe zwischengespeichert haben

- Sie verbinden sich mittels FTP und fügen in die Datei [b]authorized_keys[b] die Ausgabe aus Punkt 3 ein

7. Damit sind die Grundvorraussetzungen geschaffen.
Gehen wir zurück auf den Server wo unsere zu kopierenden Dateien liegen

[code]
ssh meinbenutzername@mein_server_mit_den_daten(oder IP des Servers)

8. Jetzt gehen wir von folgendem Beispiel aus:

Unser Server wo die Daten hin kopiert werden sollen hat noch keinen Inhalt.
Wir kopieren gleich unsere Website auf den neuen Server.

Server mit Daten.
Hier befindet sich beispielsweise Ihre Website im www.IHREDOMAIN.de Ordner:


[09:34:02] SERVER_MIT_DATEN:~ > ls -la
total 1608
drwxr-x--x 15 bregnjmu bregnjmu    4096 Apr 14 09:14 .
drwx--x--x 20        0        0    4096 Apr  6 08:36 ..
-rw-------  1 bregnjmu bregnjmu   17574 Apr 14 09:34 .bash_history
-rw-r-----  1 bregnjmu bregnjmu     142 Nov  3 13:15 .bashrc
drwxr-xr-x  4 bregnjmu bregnjmu     126 Jan 29 09:59 .composer
-rw-------  1 bregnjmu bregnjmu      52 Sep  4  2015 .lesshst
-rw-r--r--  1 bregnjmu bregnjmu     175 Aug  6  2015 .profile
drwx------  2 bregnjmu bregnjmu      46 Apr 14 09:14 .ssh
drwxr-xr-x  3 bregnjmu bregnjmu      61 Jan 29 09:59 .subversion
-rw-------  1 bregnjmu bregnjmu    7848 Apr 14 09:14 .viminfo
drwxr-x--x  2        0 bregnjmu     107 Apr 14 01:00 logs
-rw-r--r--  1 bregnjmu bregnjmu     650 Aug 28  2015 php5.6.ini
drwxr-xr-x  2        0        0      40 Feb  8 08:19 ssl
lrwxrwxrwx  1 bregnjmu bregnjmu      12 Mar 14 10:31 [url=https://www.IHREDOMAIN.de]www.IHREDOMAIN.de[/url]


Server ohne Daten.
Hier befinden sich noch KEINE Daten im  www.IHREDOMAIN.com Ordner:


[09:35:07] SERVER_OHNE_DATEN:~ > ls -la
total 705960
drwxr-x--x  8 j4mpouff j4mpouff      4096 Apr 14 08:54 .
drwx--x--x 19        0        0      4096 Apr  6 08:44 ..
-rw-------  1 j4mpouff j4mpouff      7392 Apr 14 09:35 .bash_history
drwxr-xr-x  3 j4mpouff j4mpouff        34 Aug 28  2015 .composer
drwxr-xr-x  8 j4mpouff j4mpouff       155 Feb 29 09:59 .git
-rw-r--r--  1 j4mpouff j4mpouff       175 Aug 27  2015 .profile
drwx------  2 j4mpouff j4mpouff        54 Apr 14 09:05 .ssh
drwxr-xr-x  3 j4mpouff j4mpouff        61 Aug 28  2015 .subversion
-rw-------  1 j4mpouff j4mpouff      7353 Dec 29 16:15 .viminfo
-rw-r--r--  1 j4mpouff j4mpouff        51 Sep  7  2015 .vimrc
drwxr-x--x  2        0 j4mpouff        88 Apr 14 01:00 logs
-rw-r--r--  1 j4mpouff j4mpouff       718 Jan 29 16:00 php5.6.ini
drwxr-x--- 14 j4mpouff     2001      4096 Apr  1 13:40 [url=https://www.test.com]www.test.com[/url]

9. So jetzt geht es endlich los. Mit dem folgenden Befehl kopieren wir die Dateien von einem auf den anderen Server:

rsync -aHvz [url=https://www.IHREDOMAIN.de/]www.IHREDOMAIN.de/[/url] j4mpouff@10.255.250.52:/j4mpouff/www.test.com/

Wenn Sie für Ihren Key in Punkt 2 ein Passwort gesetzt haben, werden Sie jetzt gebeten dieses einzugeben. Sie werden auch gebeten den anderen Server zu aktzeptieren.

10. Erläuterung des Kommandos:

Sie befinden sich mit dem Benutzer bregnjmu auf dem System mit den Daten. Der obere Befehl sagt dann:

rsync -aHvz (Das ist der kopierbefehlt) www.IHREDOMAIN.de/ (der / am Ende besagt das wir den INHALT des Verzeichnisses kopieren wollen ) j4mpouff@10.255.250.52:/j4mpouff/www.test.com/ (Lassen Sie sich nicht von dem Benutzernamen irritieren, dieser MUSS so lauten, wie der Benutzer auf dem Zielsystem bei dem Sie den .ssh Ordner angelegt haben und Ihren Publikkey in die authorized_keys gelegt haben. Und dann die Angabe wo der INHALT des Ordner hinkopiert werden soll. Und zwar IN den Ordner www.test.com.

11. Fertig.
Mit freundlichen Grüßen
Carsten Sievers
Profihost Team

Impressum