Wenn Sie automatisch per SCP Dateien kopieren möchten und dabei nicht das Passwort eingeben können oder möchten, dann hilft Ihnen diese Anleitung.
In dieser Anleitung sollen Dateien von Server 1 auf Server 2 kopiert werden.
Für dieses Beispiel gelten folgende Bedingungen:
- Das Script liegt auf Server 2 - die Daten werden von Server 1 "abgeholt"
- Der Benutzer für den Datentransfer heißt "backup"
Vorbereitungen auf Server 1 (Quelle):
- Unter dem Benutzernamen "backup" anmelden oder zum Benutzer wechseln:
su backup
- Schlüssel für den automatischen Zugriff von Server 2 erstellen. Dieser gilt nur für den aktuell angemeldeten Benutzernamen.
ssh-keygen -t dsa
Jede Frage mit "Enter" beantworten und kein Passwort eingeben:
Generating public/private dsa key pair. Enter file in which to save the key (/home/backup/.ssh/id_dsa): Created directory '/home/backup/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/backup/.ssh/id_dsa. Your public key has been saved in /home/backup/.ssh/id_dsa.pub. The key fingerprint is: d2:5a:6c:9f:15:5c:2c:d1:d1:d5:3b:7f:3c:88:bf:d3 backup@servername.com The key's randomart image is: +--[ DSA 1024]----+ [Ihr virtueller Fingerabdruck] +-----------------+
Die Datei liegt im .ssh Unterverzeichnis des Benutzers
Vorbereitungen auf Server 2 (Ziel):
- Ggf. müssen wir zuerst das .ssh Verzeichnis auf Server2 für den Benutzer "backup" anlegen:
mkdir /home/backup/.ssh chmod 700 /home/backup/.ssh chown backup:backup /home/backup/.ssh
- Wir benötigen den öffentlichen Schlüssel des Benutzers "backup" vom "Server 1" auf diesem Server. Durch diesen Schlüssel kann sich später Server 2 automatisch bei Server 1 anmelden (identifizieren).
scp backup@server1:~/.ssh/id_dsa.pub /home/backup/.ssh/public-key.tmp