Server miteinander bekannt machen für die Nutzung von ssh und scp ohne Passwort-Abfrage

Für das Kopieren von Dateien von einem Server zu einem anderen kann der Befehl scp verwendet werden. In der Normal-Konfiguration wird allerdings immer nach dem Passwort des Users auf dem Ziel-Server gefragt. Mittels Generierung von Schlüsseln können Server miteinander bekannt gemacht werden. Dann entfällt die Passwort-Aufforderung. scp kann dann auch innerhalb von bash-scripten verwendet werden. Der ssh-Login ist dann auch ohne Passwort möglich.

Anleitung wie folgt abgeleitet von folgender URL:

http://www.spaceprogram.com/knowledge/cron_scp.html

Ziel: Rechner 1 soll auf Rechner 2 ssh-Login und rsync-Übertragung ohne Passwortabfrage können. Damit ist scripting möglich.

Verschlüsselungsverfahren RSA funktioniert für protocol ssh1 und ssh2, DSA nur für protocol ssh2.

Prüfe, ob auf Rechner 1 bereits ein ssh-Schlüsselpaar private/public generiert wurde:

Existiert im Home-Verzeichnis des betreffenden Users ein Verzeichnis namens ".ssh" mit Dateien id_rsa.pub bzw. id_dsa.pub?

Nachfolgende Beschreibung bezieht sich auf das DSA-Verfahren. Vorgang funktioniert für RSA aber gleich.

Falls das ssh-Verz. nicht existiert, führe aus:

ssh-keygen -t dsa -C [eigene E-Mail-Adresse]

Falls das ssh-Verz. und die Dateien existieren, kopiere den public key auf Rechner 2:

scp ~/.ssh/id_dsa.pub [ssh-user]@[remote-host]:~

Log Dich auf Rechner 2 ein und prüfe dort ebenfalls, ob bereits ein ssh-Schlüsselpaar generiert wurde. Falls nicht, führe aus:

ssh-keygen -t dsa

Dadurch wird das Schlüsselverzeichnis .ssh mit den nötigen Dateien erstellt.

Füge den Inhalt des kopierten public key von Rechner 1 ergänzend an folgende Datei (falls die Datei authorized_keys noch nicht existiert, wird sie dadurch erzeugt):

cat ~/id_dsa.pub >> ~/.ssh/authorized_keys

Lösche den zuvor kopierten public key:

rm ~/id_dsa.pub

Setze Rechte sauber:

chmod 644 ~/.ssh/authorized_keys

Rechner 2 kennt nun den public key von Rechner 1. Teste, ob Du dich von Rechner 1 auf Rechner 2 per ssh ohne Passwortabfrage einloggen kannst:

ssh user_rechner2@hostname_rechner2

Falls ja, so sollte auch die Anwendung von rsync ohne Passwort-Abfrage funktionieren.

Falls nein, so solltest Du nochmal die oben aufgeführten Schritte prüfen :-)