Wie bereits in Teil 1 angekündigt, möchte ich hier beschreiben, wie man sich mittels Public Key an copSSH anmelden kann – man spart sich quasi die Eingabe des Passworts, was für den automatisierten Transfer manchmal unabdingbar ist. Leider sind die FAQs auf itefix.no sehr dürftig und geben allenfalls Anhaltspunkte, wie man den passswortlosen Zugriff einrichtet. Das Generieren von Keys beim Aktivieren eines User ist dafür nicht notwendig!
Wer sich WinSCP bereits heruntergeladen und installiert hat, verfügt schon über das benötigte Tool PuttyGen zum Erzeugen der RSA-Keys. Wer WinSCP nicht benutzen möchte, findet hier den direkten Download von PuttyGen als standalone Version.
Nach dem Start präsentiert sich PuttyGen recht unspektakulär:
PuttyGen
Nach dem Klick auf Generate muss man ein bisschen mit der Maus im oberen weißen Feld herumfahren, dadurch wird der Key generiert. Wenn der Fortschrittsbalken durch ist, sollte das so aussehen:
PuttyGen
Die Passphrase bleibt leer, nun werden Public und Private Key mittels „Save private key“ bzw. „Save public Key“ abgespeichert. Und ja, wir wollen wirklich keine Passphrase verwenden. Beide Keys solltet ihr gut aufheben, aber niemals, unter keinen Umständen, den Private Key rausgeben!
Wir kopieren nun aus PuttyGen den angezeigten Public Key heraus, öffnen den Editor (Start => Ausführen => notepad => ENTER), kopieren den Key hinein und speichern die Datei als authorized_keys ab (Ohne Dateiendung). Diese Datei verschieben wir dann auf den copSSH-Server nach /home/<Benutzer>/.ssh – sollte schon eine solche Datei vorhanden sein, ist diese zu überschreiben.
Nun loggen wir uns via ssh auf dem copSSH-Server ein, dazu muss dem User beim Aktivieren /bin/bash als Shell zugewiesen worden sein! Für diesen Login benötigen wir noch Benutzername und Kennwort, nach dem Setzen der Berechtigungen erfolgen alle weiteren Logins mit dem erzeugten Private Key.
Nach dem Login landen wir direkt im /home Verzeichnis des Benutzers und setzen nacheinander diese beiden Befehle ab:
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
Setzen der Berechtigungen
Damit sind die Berechtigungen korrekt gesetzt und wir können uns abmelden. Für die nächste Anmeldung müssen wir Putty den Private Key zur Verfügung stellen:
Putty mit Private Key konfigurieren
Das sollte dann so aussehen:
Geschafft – Anmeldung mit Private Key!
In WinSCP lässt sich nun ebenfalls der Private Key hinterlegen:
WinSCP mit Private Key konfigurieren
Für FileZilla konnte ich leider keine Möglichkeit finden, einen Private Key zu hinterlegen, hier klappt die Anmeldung via sFTP aber problemlos mit Benutzername und Kennwort.
In Teil 3 dieses Artikels wird der sFTP-Zugriff für bestimmte Verzeichnisse ausführlich erläutert; in meinem Szenario wird dafür im /home-Verzeichnis des Benutzer ein symbolischer Link auf einen Ordner irgendwo im Dateisystem erstellt, dessen Unterordner aber für den Benutzer nicht im Zugriff sein sollen.
Abschließend noch ein paar Dankesworte an Holger & Holger, die mich beim Austüfteln dieser Lösung sehr unterstützt und in die richtige Richtung geschubst haben. Ich habe hier nur die Ehre, das Ergebnis mit ein paar Bildern verschönt online zu stellen.
http://faq-o-matic.net/?p=1052