Wenn Sie eine SSH-Sitzung durchführen, sind zwei verschiedene Schlüsselpaare (mit einem Fingerabdruck für jedes Paar) beteiligt. Einer ist der Schlüssel des Benutzers, der in gespeichert ist ~/.ssh
. Die SSH-Schlüsselidentität des Benutzers wird manchmal als Anmeldeinformationen für die Anmeldung an einem anderen Computer verwendet (wenn Sie eine schlüsselbasierte Anmeldung eingerichtet haben).
Der andere ist der Schlüssel des SSH-Servers. Dies ist der Schlüssel, für den Sie den Fingerabdruck sehen, wenn Sie zum ersten Mal eine Verbindung zu einem anderen Server herstellen. Die Identität dieses Schlüssels wird verwendet, um sicherzustellen, dass Sie sich bei dem SSH-Server anmelden, den Sie beabsichtigen. Dies ist wichtig, wenn Sie Kennwörter verwenden, da Sie nicht versehentlich versuchen möchten, sich auf einem Computer eines Angreifers anzumelden. Der Angreifer erhält Ihr Kennwort, wenn Sie es eingeben. Der Angreifer kann sich dann auf dem Computer anmelden, von dem Sie dachten, dass Sie sich anmelden zu! (Dies ist als "Man in the Middle Attack" bekannt. ) Die Schlüssel, die ein SSH-Server verwendet, um sich bei der Anmeldung zu identifizieren, befinden sich in und haben normalerweise den Namen "Man in the Middle Attack" ./etc/ssh/
ssh_host_rsa_key
Sie können tatsächlich ändern, wo der SSH-Server den Schlüssel in der Datei mit der Einstellung sucht ./etc/ssh/sshd_config
HostKey /path/to/host/key
Standardmäßig ssh-keygen
wird ein Schlüssel für den aktuellen Benutzer erstellt, der standardmäßig in gespeichert wird ~/.ssh
. Das Format eines Benutzerschlüssels und eines Serverschlüssels ist dasselbe. Der Unterschied besteht darin, wo sie platziert werden und ob /etc/ssh/sshd_config
eine HostKey
Direktive auf sie verweist. Wenn Sie das openssh-server-Paket installieren, werden automatisch Schlüssel für den Server generiert. Hierher kamen die Schlüssel mit dem unbekannten Fingerabdruck. Wenn Sie den Fingerabdruck des Schlüssels des SSH-Servers (RSA *) sehen möchten, können Sie ihn ausführen ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
.
* Es gibt verschiedene Verschlüsselungsalgorithmen. Jeder verwendet einen anderen Schlüssel. Häufig sind DSA (schwach), RSA (alter Standard) und ECDSA (neuer Standard).