Content
SSH Key Login für Eisfair mit Putty und WinSCP
In der Eisfair Dokumentation ist zwar ziemlich ausführlich Beschrieben wie man die SecureShell konfiguriert, leider ist aber gerade für Einsteiger das etwas zu komplex. Schnell fehlt einen da der Zusammenhang, wie etwas für was genutzt werden kann.
Deshalb schreibe ich dieses Howto für Eisfair Einsteiger, damit es auch Ihnen leicht fällt Ihren Eisfair per Fernadministration sicher zu betreuen.
Ziel:
- Zugriff auf Eisfair für Fernadministration
- verschlüsselte Datenübertragung
- Authentifizierung des Benutzer(User) am Server durch Keyfile
- Authentifizierung des Client(Windows) am Server durch Keyfile
Benötigte Anwendungen:
- inet Package für Eisfair, enthält die SSH Unterstüzung[1]
- putty für den Windows Client[2]
- puttygen für den Windows Client
- WinSCP[3]
Vorbereitungen:
- Braucht man direkt am Eisfair Zugriff, also einen angelegten Benutzer, ansonsten jetzt durchführen.
(User anlegen siehe Eisfair Dokumentation)
Als Beispiel nehmen Wir den Benutzer charly. - Auf dem Windows Client sind putty und puttygen installiert, ansonsten jetzt durchführen.
Schritt 1.
Als Benutzer eis anmelden am Eisfair, zwecks "Service Menü".
Wechseln per "Service administration" in das "Edit Configuration" Menü von "Inet Service".
(siehe Eisfair Dokumentation)
Folgende Parameter setzen:
START_SSH = yes # zum aktivieren des Secure Shell Dienstes
SSHD_START_METHOD = xi # Startmethode des Dienstes st für Standard oder xi für resourcenschonende Methode dann aber START_XINETD = yes nicht am ende der Konfiguration vergessen
SSH_PORT = 22 # Standard Port ist 22 aber anderer möglich, evtl.auf Portforward Einstellungen des Router(z.B. fli4l) konfigurieren.
SSH_USE_SSH1 = yes # braucht man nicht mehr da alter ssh standard und putty ssh2 der "sicherer ist unterstüzt, trotzdem wegen Kompatiblität aktivieren.
SSH_USE_SSH2 = yes
SSH_SVR_KEYBITS = 1536 # Eisfair Standard Wert
SSH_LISTEN_ADDR_N = 1 # Anzahl der Netzwerkarten an dem der SSH Dienst zur Verfügung stehen soll
SSH_LISTEN_ADDR_1 = 1 # SSH_LISTEN_ADDR_1='1' zeigt auf IP_ETH_1_IPADDR in /etc/config.d/base
SSH_ALLOW_USER_N = 2 # Anzahl der erlaubten Benutzer
SSH_ALLOW_USER_1 = root # Der Super User
SSH_ALLOW_USER_2 = charly # Der Beispiel User
SSH_DENY_USER_N = 0 # Hier kann man explizit User den Zugriff verbieten
SSH_ALLOW_GROUP_N = 2 # Gruppe für SSH freigeben
SSH_ALLOW_GROUP_1 = users # Alle Benutzer der Gruppe users da charly in der Gruppe users Mitglied ist. Je nach Bedarf konfigurieren nicht unbedingt nötig.SSH_ALLOW_GROUP_2 = root # Gruppe für Administratoren
SSH_DENY_GROUP_N = 0 # Hier kann man explizit Gruppen den Zugriff verbieten
SSH_PERMITROOTLOGIN = no # sollte man aus Sicherheitsgründen deaktivieren, besser einen User mit root Rechten nutzen.
SSH_PUBLIC_KEY_N = 1 Anzahl der Public Keys
SSH_PUBLIC_KEY_1 = /home/charly/.ssh/identity.pub # Hier ist der Pfad zum Public Key von charly eingetragen
Es wird beim abspeicher eine Fehlermeldung kommen das der Public Key nicht vorhanden ist, aber den kann man irgnorieren, da dieser im Schritt 2. angelegt wird.
SSH_MAX_STARTUPS = 10 # 10 gleichzeitig zulässiger noch nicht authentifizierter Verbindungen reichen aus, da wir ja eigentlich nur 1 Benutzer konfigurieren bzw aber für die Gruppe reichen 10 gleichzeitige auch aus.
SSH_ENABLE_PRIV_SEPARATION = no # keine "Kind"Prozesse erzeugen
SSH_COMPRESSION = yes # Kompression aktivieren, am besten dann auch in putty
SSH_STRICTMODES = yes # charly soll nur mit seinen Rechten arbeiten können
SSH_PASSWDAUTH = yes # vorläufig auf yes bis die keys geprüft sind auf Funktion(Schritt 3.)
SSH_USEPAM = no # braucht man für key authentifizierung nicht, aktivieren falls benötigt wird
SSH_CH_RESPONSEAUTH = no # braucht man für key authentifizierung nicht, aktivieren falls benötigt wird
SSH_CLIENTALIVEINTERVAL = 0 # Eisfair Standardwerte lassen
SSH_CLIENTALIVECOUNTMAX = 3 # Eisfair Standardwerte lassen
SSH_ENABLE_SFTP = yes # aktivieren für z.B. SFTP mit Winscp3 nutzen
SSH_LOGLEVEL = INFO # Eisfair Standardwerte lassen, bei Problemen siehe Dokumentation
...
START_XINETD = yes # Resourcen schonender Super Inet Daemon muss aktiviert sein bei SSHD_START_METHOD = xi
...
Speichern und aktivieren nicht vergessen!
Benutzer eis ausloggen.
Schritt 2.
charly ist auf dem Eisfair angemeldet in der Kommando Shell(Texteingabezeile).
Man wechselt in das home Verzeichnis von charly und legen den ssh Ordner für die Schlüssel an.
# cd /home/charly
# mkdir .ssh
charly muss nun ein Schlüsselpaar erstellen:
# ssh-keygen -b 1024 -f .ssh/identity
Passwort für den privaten Schlüssel angeben und bestätigen.
Dann den eigenen öffentlichen Schlüssel(Public Key) authoriesieren:
# cat .ssh/identity.pub >> .ssh/authorized_keys
So jetzt haben wir den SSH Dienst und die Schlüssel für charly auf dem Eisfair fertig.
Jetzt muss man nur noch den privaten Schlüssel auf den Windows Client für WinSCP und putty kopieren.
Schritt 3.
WinSCP starten und auf >>> "NEU" gehen.
Folgendes eintragen:
- Eisfair Server Name oder IP Adresse des Eisfair im Netzwerk.
- die Portnummer die in SSH_PORT = 22 konfiguriert wurde.
- Benutzer charly eintragen.
- Passwort/Kennwort von charly eintragen (Das Passwort aus der Eisfair "User Service administration")
- Speichern als charly_passwort@eisfair
- Jetzt testen wir die Anmeldung per SSH und WinSCP
Wenn alles klappt sollten wir jetz im /home/charly Verzeichnis sein und den Unterordner .ssh im WinSCP sehen.
In diesen .ssh Ordner wechseln und den privaten Key identity nun per WinSCPauf den Windows Client kopieren.
Schritt 4.
- puttygen starten.
- Per Menü Conversion>>>Import key den vorher kopierten identity Key importieren
- puttygen wird nun nach dem Passwort des Key fragen, unbedingt das Passwort nehmen welches man unter Schritt 2. mit ssh-keygen vergeben hat.
- prüfen das SSH-2 RSA ausgewählt ist.
- mit Save private key den putty key charly.ppk abspeichern.
Jetzt sind wir soweit das wir den privaten Key unter Windows nun mit WinSCP und putty nutzen können.
(Der Key im Bild ist nur ein Beispiel)
Schritt 5.
putty starten und folgendes eintragen:
- Eisfair Server Name oder IP Adresse.
- die Portnummer die in SSH_PORT = 22 konfiguriert wurde.
- SSH auswählen.
- User namen charly eintragen.
- für die Passwort Authentifizierung erstmal interaktiven Modus.
- Session Name auswählen z.B. charly@eisfair
- Die Einstellungen abspeichern.
Verbindung zum Eisfair Server in putty nun mit OPEN öffnen. User Passwort von charly für Login angeben.
putty Verbindung beendet man in der Shell per dem Befehl exit.
Wenn das alles klappt hat man nun die Zugänge per Passwort Authentifiezierung für putty und WinSCP fertig.
Schritt 6.
Als Benutzer eis anmelden am Eisfair, zwecks "Service Menü".
Wechseln per "Service administration" in das "Edit Configuration" Menü von "Inet Service".
Folgende Parameter jetzt wieder ändern:
SSH_PASSWDAUTH = no # endgültig von yes auf no einstellen, da wir ja nur noch per Keyfile Login möchten(Schritt 1.)
Achtung Sobald SSH_PASSWDAUTH = no aktiviert ist, kann nur noch mit den Schlüsseln oder direkt am Eisfair selber eingelogt werden! Bei einen Fehler mit den Schlüsseln, müsste man wieder direkt am Eisfair Login machen. Zwecks Fehlersuche am besten wieder die Passwort Authetifizierung reaktivieren für den putty Terminal Zugang. putty neu starten, mit Load charly@eisfair die bisherigen Einstellungen laden und wieder folgendes konfigurieren:
- Diesmal den charly.ppk Key auswählen.
- Wieder abspeichern.
Als Test wieder per OPEN eine Verbindung zum Eisfair öffnen.
Jetzt sollte eine Warnmeldung über den Server Key kommen, diese ist mit Ja zu beantworten.
Dann noch das Key Passwort aus Schritt 2. angeben und das Login sollte nun Funktionieren.
Schritt 7.
Zu guter letzt noch den charly.ppk Key auch in WinSCP auswählen und speichern.
Da wir die Passwort Authentifizierung deaktivert haben, sollte nun ein sicheres arbeiten über die Secure Shell mit putty und WinSCP funktionieren.
Schlusswort:
Um den Eisfair wirklich administrieren zu können, sollte man nach Login mit dem User charly für Installationen usw usf. immer mit su eis arbeiten(durch den Befehl setup kommt man als su eis dann auch wieder in die "Service Menü"), da charly keine Installationsrechte für den Eisfair hat.
Quellen:
[1] http://www.eisfair.org inet packag Dokumentation[2] putty
[3] WinSCP
[4] Tutorial zu SSH
[5] Eisfair Dokumentation
(c) 30.06.2006 Carsten.Hermes@hermestec.de, Deutsch Korrekturen von Fabian Toerner