SSH: Verschlüsselter Fernzugriff

Seite: 7/9
(3016 Worte insgesamt im Text)
(21471 mal aufgerufen)  Druckerfreundliche Ansicht

Schlüssel hinterlegen

Wenn Sie sich zukünftig als root am Server anmelden und dabei das PublicKey-Verfahren nutzen möchten, müssen Sie nun Ihren öffentlichen Schlüssel in die Datei authorized_keys im Unterverzeichnis .ssh des Heimatverzeichnisses von root kopieren.

Kopieren Sie dazu den öffentlichen Schlüssel auf eine Diskette, die Sie dann am Server mounten oder nutzen Sie den Befehl scp, um den Schlüssel direkt auf den Server zu kopieren. Das Einfügen in die Datei authorized_keys (die Datei existiert am Anfang noch nicht) geschieht am elegantesten mit dem Befehl:

cat id_rsa.pub >> /root/.ssh/authorized_keys

- wenn sich der öffentlichen Schlüssel im aktuellen Verzeichnis befindet.

Eine weitere, elegant Möglichkeit bietet der Befehl ssh-copy-id. Bei diesem Befehl handelt es sich um ein Shell-Skript, welches den öffentlichen Schlüssel auf einem fremden Rechner hinterlegen soll und damit genau das tut, was wir im Absatz vorher per Hand gemacht haben. (Da der Befehl allerdings nicht unter allen Systemen verfügbar ist, ist die manuelle Methode sicherlich auch nicht schlechter.) Um den Schlüssel id_rsa.pub in der Datei .ssh/authorized_keys des Benutzers root auf dem Server myip.dyndns.org zu hinterlegen, geben Sie als normaler Nutzer den folgenden Befehl ein:

ssh-copy-id -i ~/.ssh/id_rsa.pub root@myip.dyndns.org

Geben Sie anschließend das Passwort von root ein und ssh-copy-id nimmt ihnen die weitere Arbeit ab.

Um Sicherheitslücken zu vermeiden, sollten Sie darauf achten, dass die Datei authorized_keys nur vom jeweiligen Benutzer lesbar ist. (Der SSH-Server achtet übrigens auch darauf und schaltet auf Passwortanmeldung um, wenn die Rechte dieser Datei nicht stimmen! Wenn der Serveradmin dann eine Anmeldung mit Passwort nicht zuläßt stehen Sie vor einem verschlossenem System - ohne Schlüssel.) Dies stellen Sie mit dem Befehl sicher:

chmod 600 authorized_keys

Nun sollten Sie sich über das PublicKey-Verfahren am Server anmelden können.

Hierfür sind die folgenden normalerweise auskommentierten Werte (dies sind die Standardwerte) in der Datei /etc/ssh/sshd_config verantwortlich:

  • #RSAAuthentication yes
  • #PubkeyAuthentication yes}
  • #AuthorizedKeysFile .ssh/authorized_keys

RSA-Authentifizierung mittels PublicKey-Verfahren ist also per default aktiviert (und steht in der Datei noch vor der Passwort-Authentifizierung) und der SSH-Server sucht die öffentlichen Schlüssel im Homeverzeichnis des entsprechenden Nutzers in der Datei .ssh/authorized_keys.

Sie sollten also nach einem ssh -X -C root@myip.dyndns.org nach Ihrer Passphrase für den Schlüssel und nicht mehr nach dem Passwort von root gefragt werden.

Nun kann am SSH-Server auch die Authentifizierung mittels Passwort abgeschaltet werden. Hierzu muss in der Datei /etc/ssh/sshd_config die Zeile

#PasswordAuthentication yes
geändert werden in
PasswordAuthentication no

Anschließend sollte der SSH-Server noch von dieser Änderung durch den Befehl rcsshd reload erfahren. Nun werden Benutzer ohne PublicKey zwar immer noch nach dem Passwort gefragt - aber anmelden kann man sich auch mit dem korrekten Passwort eines Nutzers nicht mehr. Nur noch Nutzer mit einem auf dem System hinterlegten PublicKey haben Zugang zum Server.




Kommentare

Einen Kommentar hinzufügen



 Suchen:


 Umfrage

(Nur für angemeldete Benutzer)

Was wird hier am meisten vermisst?

[ Ergebnis | Umfragen ]

Stimmen: 621
Kommentare: 0

 Zitate

Keine CPU kann halten, wenn Programmierer sinnlos walten.

-- anonymous