Mit den PowerWeb Paketen des Hosters Strato verfügt man über einen Shell-Zugang ( hier ) zu seinem Webspace. Damit ist es u.a. möglich, via rysnc und sftp Dateien auf den Webspace zu kopieren. Falls man das via Skripte erledigen möchte, ist es zweckmäßig, die Aufforderung zur Eingabe des Zugangskennworts unterdrücken zu können und anstelle dessen das Public Key Verfahren zu verwenden. Hierbei wird quasi dem Strato-Server einmal vorgegeben, daß der eigene Rechner vertrauenswürdig ist.
Um das Public Key Verfahren nuutzen zu können, müssen wir de öffentlichen Schlüssel (Public Key) des eigenen Rechners auf den Webserver kopieren. Für Windows habe ich hier eine unmöglich komplizierte Anleitung gefunden , die mich als Linux-User mehr als verwirrt hat. Letztlich ist es unter Linux babyleicht, und funktioniert folgendermaßen: Falls noch nicht geschehen, ein RSA-Schlüsselpaar erzeugen (kein Kennwort/Passphrase verwenden!):
Im Verzeichnis ~/.ssh/ befinden sich nun die Dateien "id_rsa"
(privater Schlüssel) und "id_rsa.pub" (öffentlicher Schlüssel). Der
private Schlüssel ist geheim und sollte niemals öffentlich gemacht
werden, da sonst Dritte Zugang zu Eurem Webserver erhalten können. Der
öffentliche Schlüssel ist ein Hash des privaten Schlüssels und kein
Geheimnis. Der öffentliche Schlüssel muß nun auf den Webspace kopiert
werden. Dazu kopiert zunächst die Datei "id_rsa.pub" mit Eurem
öffentlichen Schlüssel in eine weitere Datei mit dem Namen
"authorized_keys" (ohne Dateiendung).
Falls Ihr vorher noch nie Public Key mit Eurem Strato
Webspace verwendet habt, loggt Euch via ftp auf dem Strato-Server ein
(dazu benötigt Ihr Eure Zugangsdaten. www.wunschname.de müßt Ihr
natürlich mit Eurer URL ersetzen):
Dann erzeugt Ihr zunächst auf der obersten Ebene Eures Webspaces ein Verzeichnis ".ssh" (Punkt am Anfang nicht vergessen!) und wechselt in das erstellte Verzeichnis.
Ggf. müßt Ihr noch lokal (also auf dem Computer vor Eurer Nase) in das Verzeichnis ~/.ssh/ wechseln; das geht in der ftp-Konsole folgendermaßen:
Jetzt kommt der große Moment, und die Datei "authorized_keys" wird auf den Server kopiert. Anschließend könnt Ihr Euch auch schon ausloggen:
Jetzt loggen wir uns versuchsweise via SSH ein, was nun ohne Kennwort-Eingabe funktionieren sollte:
Bei vielen Linux-Servern kann man öffentliche Schlüssel komfortabel mit dem Befehl " ssh-copy-id " austauschen. Das hat bei mir aber leider nicht funktioniert, weshalb ich den oben beschriebenen Weg nehmen mußte.