Hinter den Kulissen Stoff SSH

wall < "Debian und SSH"

Broadcast message from spillerm@unixe.de (pts/1) (Mi Mai 14 12:29:12 2008):
4
Diesen Beitrag schrieb ich vor 11 Jahren. Behalte das beim Lesen bitte im Hinterkopf.

Da geistert plötzlich ein Artikel umher: SSH auf Debian-basierten Systemen unsicher! Updates sind bereits verfügbar, wichtig ist aber natürlich nicht nur, das Update zu installieren — ich gehe ja mal dringend davon aus, dass ihr das alle bereits brav getan habt — sondern auch den Dienst einmal durchzustarten und alle Keys zu ändern.

Dafür ist es wichtig zu schauen, was in der Konfiguration /etc/ssh/sshd_config als Host-Key angegeben ist; in meinem Fall sind es die folgenden beiden Zeilen:

HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key

Also erstelle ich erst einmal einen Ordner und verschiebe die bisherigen Keys nebst public Keys da hinein; natürlich könnte ich sie auch direkt löschen, aber ich möchte auf »Nummer Sicher« gehen:

$ cd /etc/ssh/
$ mkdir .WEG
$ mv ssh_host_* .WEG/

Im nächsten Schritt (und nach wie vor im selben Verzeichnis) erstelle ich neue Keys: erst DSA, dann RSA.

$ ssh-keygen -b 1024 -N '' -t dsa -f ssh_host_dsa_key
$ ssh-keygen -b 1024 -N '' -t rsa -f ssh_host_rsa_key

Dann den Dienst einmal vollständig durchstarten (/etc/init.d/sshd restart) und — während das Login noch besteht! — ein erneutes Login versuchen. Natürlich wird der nun meckern, ihr werdet die known_hosts editieren müssen. Geht jedoch ansonsten alles gut — fein :)

Dann noch für die einzelnen User neue Keys generieren; vergesst vor allem nicht, diese Keys ggf. in den authorized_keys anderer Maschinen zu hinterlegen, falls irgendwelche Scripte (oder so…) das benötigen!

4
  1. Ach, mein Lieblingspatch. Hat mich gestern den halben Nachmittag gekostet, auf unseren Servern die ganzen Userkeys zu generieren und in die authorized_keys‘ einzutragen. Für sowas sollte mal eine skriptgesteuerte Lösung in die Pakete kommen.

    Btw, interessanterweise hat er bei mir nicht gemeckert, weil sich die Hostkeys geändert haben. Beim Connect wurden nur die Userkeys nicht mehr zur Authentifizierung akzeptiert und auf Passwort-Login umgestellt. Hat mich ein wenig gewundert, weil da ja eigentlich Gemecker wegen der known_hosts auftreten müsste.

  2. Danke für den Hinweis, werde ich gleich mal machen. Aber irgendwie will er die Pakete bei mir nicht installieren:

    #dralzheimer:~# The following packages have been kept back:
    -bash: The: command not found
    #dralzheimer:~# openssh-client openssh-server
    -bash: openssh-client: command not found
    #dralzheimer:~# 0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.

Keine weitere Reaktionen mehr möglich.