Fehler „Hostschlüssel konnte nicht geladen werden“ beim Versuch, SSH-Hostschlüssel neu zu erstellen

Fehler „Hostschlüssel konnte nicht geladen werden“ beim Versuch, SSH-Hostschlüssel neu zu erstellen

Ich versuche, die Hostschlüssel des SSH-Servers neu zu erstellen.

Ich habe mindestens zwei Möglichkeiten, dies zu tun:

  • Mit dpkg-reconfigure

    dpkg-reconfigure openssh-server
    

    Das funktioniert einwandfrei, allerdings kann ich dann keine Schlüssellänge angeben. Ich möchte beispielsweise 4096 für den RSA-Schlüssel.

  • Manuell mit ssh-keygen

    sudo ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N 'myverylongpasswordhere' -b 4096 -t rsa
    

    Dadurch werden mir die Schlüssel neu erstellt, aber nach dem Neustart des Servers erhalte ich FolgendesFehlermeldung:

    could not load host key: /etc/ssh/ssh_host_rsa_key
    

    also habe ich die Datei sshd_config überprüft, was dort drin ist:

    HostKey /etc/ssh/ssh_host_rsa_key
    

    passt perfekt. Also habe ich den Besitzer und die Rechte aller meiner Schlüssel überprüft

    -rw------- 1 root root 3326 Mär 24 08:57 ssh_host_rsa_key
    

    Wenn ich alle Schlüssel entferne und sie mit neu erstelle dpkg-reconfigure openssh-server, sind die Schlüssel kleiner und haben die gleichen Dateirechte wie oben.

Frage:Wie kann ich dpkg-reconfiguredie Schlüssellänge 4096 für RSA verwenden?

Antwort1

Keine der obigen Antworten hat bei mir funktioniert. Ich habe mein Ubuntu-System wie folgt repariert:

/usr/bin/ssh-keygen -A

Antwort2

sudo ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N 'myverylongpasswordhere' -b 4096 -t rsa

erstellt mir die Schlüssel neu. aber nach dem Neustart des Servers erhalte ich

could not load host key: /etc/ssh/ssh_host_rsa_key

Sie erstellen einen Hostschlüssel mit einem Passwort. Gibt es eine Möglichkeit, diesen Hostschlüssel zu entsperren? Wenn nicht, dann ist das wohl zu erwarten: Das Skript, das den Dienst verwaltet, startet, versucht, den Hostschlüssel zu laden und schlägt fehl. Soweit ich weiß, sollten Sie keine Hostschlüssel erstellen, die mit Passwörtern geschützt sind.

Wenn Sie daran interessiert sind, Ihren SSH-Server abzusichern, empfehle ich Ihnen die Lektürehttps://stribika.github.io/2015/01/04/secure-secure-shell.htmlDer zum Erstellen des Hostschlüssels in diesem Dokument verwendete Befehl lautet:

ssh-keygen -t rsa -b 4096 -f ssh_host_rsa_key

Sie sollten jedoch das gesamte Dokument lesen, bevor Sie Änderungen vornehmen.

Antwort3

Führen Sie einfach Folgendes aus:

ssh-keygen -t rsa -b 4096

ssh-keygengeneriert einen SSH-Schlüssel.

  • -tgibt den zu erstellenden Schlüsseltyp an
  • -bGibt die Anzahl der Bits im Schlüssel an.

Sehendiese Seitefür mehr Informationen.

verwandte Informationen