ssh erlaubt es einem Administrator, sich über Netz mit einem Passwort an dem Server anzumelden. Da die meisten Administratoren sich nicht dazu durchringen können, sich schwer knackbare Passwörter zu vergeben, da sie doch des öfteren vergessen werden, oder einfach nur schwer zu tippen sind, werden einfache Passwörter benutzt.
Da root/admin alles darf, sollte man, gerade wenn das System aus dem Internet erreichbar ist, sehr komplexe Passwörter benutzen. Mit Putty kann man nun den ssh Zugang so gestalten das der Zugang unabhängig vom Passwort durch authorized_keys geschieht. Man benötigt dadurch nur einen klick und hat eine shell.
PuTTY und PuTTYgen
Man benötigt das Client Programm PuTTY und den Keygenerator PuTTYgen (http://www.chiark.greenend.org…atham/putty/download.html). Diese Programme sind kostenlos im Internet verfügbar.
RSA Schlüssel generieren
Nach dem Start des Programmes PuTTYgen muss auf den Button Generate geklickt werden. Danach wird der Schlüssel generiert, indem man im PuTTYgen-Fenster die Maus bewegt, bis der Balken die volle Länge erreicht hat.
Danach wird der Schlüssel berechnet und angegeben. Kopiert nun den Teil, der unter Public key for pasting into OpenSSH authorized_keys file: in die Zwischenablage (markiert den Teil und drückt Strg + C).
Danach klickt auf den Button Save private key. Speichert die Datei auf die lokale Festplatte. Dies ist die Gegendatei, mit der ihr euch später an dem Server identifizieren.
Installieren der authorized_keys
Öffnet nun eine Session zum Linux-Server (QNAP NAS). Geht in das Home-Verzeichnis des Anwenders, der sich mit diesem Schlüssel anmelden soll. Dort legt, falls nicht vorhanden, das Verzeichnis .ssh an. Wechselt in dieses Verzeichnis und erstellen die Datei authorized_keys, z.B. mit dem Programm vi.
Dort kopiert nun den Teil des Schlüssels aus der Zwischenablage rein (Falls ihr PuTTY benutzen, reicht ein Klich auf die rechte Maustaste). Speichert diese Datei nun ab. Ihr könnt die Session nun beenden.
PuTTY konfigurieren
Startet den PuTTY Client. Tragt euren Servernamen bei Hostnamen ein und klickt SSH an. Klickt links auf Connection und tragen bei [/i]Auto-login name:[/i] den Usernamen des Anwenders ein (admin bei QNAP für root), der sich mit dem Schlüssel anmelden soll (der Username, von dem ihr im Home-Verzeichnis die authorized_keys erstellt haben). Klickt nun im Baum weiter unten auf Auth[ (Connection -> SSH -> Auth). Tragt nun bei Private key file for authentication den Pfad und Dateinamen des Keyfiles auf Ihrer lokalen Festplatte ein, welches ihr mit dem Tool PuTTYgen gespeichert haben (oder klicke auf Durchsuchen und geben den Pfad so an). Danach klickt wieder auf Session, gebt bei Save Sessions der Session noch einen Namen und speichern dies mit einem Klick auf Save ab.
Testet nun die Verbindung. Ein Doppeltklick auf die eben gespeicherte Session sollte eine PuTTY-Session zu dem Server öffnen.
Es sollte keine Abfrage nach Usernamen und kein Passwort mehr abgefragt werden, ihr sollten direkt auf die Shell-Ebene gelangen.
Falls dies nicht der Fall ist, prüft ob in der Datei /etc/ssh/sshd_config die Option PubkeyAuthentication auf yes steht (steht default bei QNAP auf yes).
Vorsicht
Das Keyfile, welches lokal auf der Festplatte liegt, ist die Zugangsberechtigung auf euren Server. Ihr solltet damit so sensibel umgehen wie mit der PIN eurer EC Karte. Mit dieser Datei kann sich jeder mit Admin rechten auf eurem NAS via ssh anmelden. Egal ob ihr das Passwort ändert oder nicht.