Der wichtigste Teil des "sicheren" Hinzufügens eines Schlüssels zur known_hostsDatei ist das Abrufen des Schlüsselfingerabdrucks vom Serveradministrator. Der Schlüsselfingerabdruck sollte ungefähr so aussehen:
2048 SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8 github.com (RSA)
Bei GitHub können wir normalerweise nicht direkt mit einem Administrator sprechen. Sie platzieren den Schlüssel jedoch auf ihren Webseiten, damit wir die Informationen von dort wiederherstellen können.
Manuelle Schlüsselinstallation
1) Nehmen Sie eine Kopie des Schlüssels vom Server und holen Sie sich den Fingerabdruck. Hinweis: Tun Sie dies, bevor Sie den Fingerabdruck überprüfen.
$ ssh-keyscan -t rsa github.com | tee github-key-temp | ssh-keygen -lf -
# github.com:22 SSH-2.0-babeld-f3847d63
2048 SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8 github.com (RSA)
2) Fordern Sie vom Serveradministrator eine Kopie des Schlüsselfingerabdrucks an. Navigieren Sie in diesem Fall zu der Seite mit den Informationen auf github.com
- Gehen Sie zu github.com
- Gehen Sie auf die Hilfe - Seite (im Menü auf der rechten Seite, wenn Sie angemeldet, am unteren Rand der Homepage aus anderen Gründen ).
- Im Ersten Schritt Abschnitt geht mit SSH zu GitHub Connecting
- Gehen Sie zu Testen Ihrer SSH-Verbindung
- Kopieren Sie den SHA256-Fingerabdruck von dieser Seite zur späteren Verwendung in Ihren Texteditor.
3) Vergleichen Sie die Schlüssel der beiden Quellen
Indem Sie sie direkt übereinander in einem Texteditor platzieren, können Sie leicht feststellen, ob sich etwas geändert hat
2048 SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8 github.com (RSA) #key recovered from github website
2048 SHA256:nThbg6kXUpJ3Gl7E1InsaspRomtxdcArLviKaEsTGY8 github.com (RSA) #key recovered with keyscan
(Beachten Sie, dass der zweite Schlüssel manipuliert wurde, aber dem Original ziemlich ähnlich ist. Wenn so etwas passiert, werden Sie ernsthaft angegriffen und sollten sich an einen vertrauenswürdigen Sicherheitsexperten wenden.)
Wenn die Schlüssel unterschiedlich sind, brechen Sie den Vorgang ab und setzen sich mit einem Sicherheitsexperten in Verbindung
4) Wenn die Schlüssel korrekt verglichen werden, sollten Sie den bereits heruntergeladenen Schlüssel installieren
cat github-key-temp >> ~/.ssh/known_hosts
Oder für alle Benutzer auf einem System (als root) installieren:
cat github-key-temp >> /etc/ssh/ssh_known_hosts
Automatisierte Schlüsselinstallation
Wenn Sie während eines Erstellungsvorgangs einen Schlüssel hinzufügen müssen, befolgen Sie die Schritte 1-3 des obigen manuellen Vorgangs.
Nachdem Sie dies getan haben, überprüfen Sie den Inhalt Ihrer github-key-tempDatei und erstellen Sie ein Skript, um diesen Inhalt zu Ihrer bekannten Hosts-Datei hinzuzufügen.
if ! grep github.com ~/.ssh/known_hosts > /dev/null
then
echo "github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==" >> ~/.ssh/known_hosts
fi
Sie sollten nun loswerden irgendwelche sshBefehle , die haben StrictHostKeyCheckingdeaktiviert.