Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
anwenderwiki:ssh:ssh-keys [2020/11/11 11:55] – [8) Andere User den Zugang zum Server per ssh-key freischalten] martin.res | anwenderwiki:ssh:ssh-keys [2020/11/11 11:56] (aktuell) – [8) Andere User das Login zum Server freischalten] martin.res | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Den ssh-Zugang des Users root durch Key-Authentification absichern ====== | ||
+ | Ich will hier kurz beschreiben, | ||
+ | Die Anleitung bezieht sich auf das Erschaffen der keys für root. | ||
+ | Soll für einen anderen user keys erschaffen werden, so muss die Tilde ~ in der Anleitung durch den Pfad zum Homeverzeichnis des users ersetzt werden, sofern man nicht als dieser angemeldet ist. | ||
+ | |||
+ | Man kann für root zwar auch ein Schlüsselpaar erschaffen, wenn man noch kein root-Passwort vergeben hat, die Anmeldung funktioniert dann aber nicht für den Benutzer root. Also ggf. noch "sudo passwd" | ||
+ | |||
+ | < | ||
+ | |||
+ | ===== 1) Generieren des Schlüsselpaares ===== | ||
+ | |||
+ | Man wechselt in das Verzeichnis /root/.ssh/ | ||
+ | |||
+ | cd /root/.ssh | ||
+ | |||
+ | Das Schlüsselpaar wird hier erstellt mittels | ||
+ | |||
+ | ssh-keygen -t rsa | ||
+ | |||
+ | Den vorgeschlagenen Namen und Pfad kann man übernehmen (/ | ||
+ | Ein Passwort, das den Schlüssel später " | ||
+ | Man erhält zwei Schlüssel **'' | ||
+ | **'' | ||
+ | **'' | ||
+ | |||
+ | ===== 2) Erstellen der Datei " | ||
+ | Wir befinden uns ja noch immer in **''/ | ||
+ | |||
+ | touch authorized_keys | ||
+ | | ||
+ | ===== 3) Anhängen des pub-keys an " | ||
+ | |||
+ | |||
+ | cat id_rsa.pub >> authorized_keys | ||
+ | | ||
+ | ===== 4) SSH-Dienst anpassen ===== | ||
+ | |||
+ | Eine Einstellung des sshd ändern und ssh neustarten: | ||
+ | Editieren der Datei / | ||
+ | Man muss nur ein # vor der Zeile | ||
+ | **'' | ||
+ | entfernen und sshd mittels | ||
+ | / | ||
+ | neustarten (ich habe kein " | ||
+ | Das geht auch, während man von außerhalb über ssh am server arbeitet. | ||
+ | |||
+ | ===== 5) Verwendung des Key unter Windows + putty ===== | ||
+ | |||
+ | Wenn man den Schlüssel **'' | ||
+ | Dazu lädt man puttygen.exe von: | ||
+ | **'' | ||
+ | herunter, startet es und importiert den key über File-> | ||
+ | Beim Laden des key wird man einmal nach dem Passwort gefragt, dass man beim Erstellen angegeben hatte. Dann sollte man noch ganz unten auf SSH-2 RSA umstellen und abschließend auf "Save privat key" drücken. | ||
+ | |||
+ | ===== 6) Verwendung des Key unter Linux ===== | ||
+ | |||
+ | Dazu den Key in das home des Users unter **'' | ||
+ | chmod 600 / | ||
+ | |||
+ | |||
+ | ===== 7) Öffnen der Sitzung: ===== | ||
+ | |||
+ | Man startet Putty und läd das Profil seiner Schule. | ||
+ | Dann geht man links auf " | ||
+ | Dort wählt man den key aus, den man gerade mittels puttygen aus dem rsa-key erstellt hat. | ||
+ | Nun würde ich noch mal speichern und dann die Sitzung öffnen. | ||
+ | Man wird nach dem user gefragt und dann nach dem Passwort für den key (nicht das Linuxpasswort von root). | ||
+ | |||
+ | |||
+ | ===== Stolperfallen: | ||
+ | |||
+ | Nach dem Einloggen wird man noch nach dem Benutzer gefragt. | ||
+ | Dort muss ich den Benutzer angeben, in dessen authorized_keys der .pub key meines verwendeten keys ist (in unserem Fall " | ||
+ | Vorher muss ich natürlich das Passwort des keys eingeben (welches ich beim Erstellen vergeben und bei puttygen noch mal verwendet habe. Es hat gegebenenfalls nichts mit dem Linuxpasswort des Benutzers zu tun). | ||
+ | Diese keys funktionieren eigentlich genauso wie die von VPN. Auch dort wird der mobile Teil des keys (Zertifikat) mittels eines Passworts geschützt. | ||
+ | |||
+ | Wofür ist das ganze Theater: | ||
+ | |||
+ | <note important> | ||
+ | Am Ende sollte man in **''/ | ||
+ | Am Ende steht | ||
+ | " | ||
+ | daraus macht man | ||
+ | " | ||
+ | es wird kein Abgleich durch den ssh Dämon mit der lokalen userdatenbank mehr vorgenommen, | ||
+ | </ | ||
+ | |||
+ | / | ||
+ | nicht vergessen! | ||
+ | |||
+ | Den von puttygen generierten Key kann man auch einfach in WinSCP verwenden (auf der ersten Seite gibt es ein Feld für den private key) | ||
+ | |||
+ | ===== 8) Anderen User das Login zum Server freischalten ===== | ||
+ | |||
+ | In der Datei '' | ||
+ | |||
+ | < | ||
+ | ... | ||
+ | -:ALL EXCEPT root adm administrator: | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | Um weiteren Usern das Login zu erlauben fügt man __vor__ dieser Zeile z.B. ein: | ||
+ | < | ||
+ | ... | ||
+ | +:pgmadmin meier schmitt:ALL | ||
+ | -:ALL EXCEPT root adm administrator: | ||
+ | ... | ||
+ | </ |