GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Rackspace Cloud Essentials:Überprüfen Sie den SSH-Host-Fingerabdruck eines Servers mit der Webkonsole

Secure Shell (SSH) verwendet einen Fingerabdruck mit dem eindeutigen Serverhostschlüssel generiert, damit ein Client den Server identifizieren kann. Immer wenn sich der Host-Fingerabdruck ändert, gibt SSH die folgende Warnung aus:Der Host-Fingerabdruck kann nicht verifiziert werden oder hat sich geändert .

Wenn Sie den SSH-Server konfigurieren, wird der Hostschlüssel zufällig generiert. Der Hostschlüssel identifiziert den Server, mit dem Sie sich verbinden, und ist von zentraler Bedeutung für die Sicherheit, die SSH bietet. Wenn jemand ein Programm zum Abfangen einer Verbindung einrichtet und die Zugangsdaten stiehlt (ein Man-in-the-Middle Angriff), gibt der SSH-Client nur ein der Hostschlüssel hat sich geändert Warnung.

Warum sich der Hostschlüssel ändern könnte

Erklärungen für einen geänderten Hostschlüssel sind:

  • SSH neu kompilieren oder aktualisieren.
  • Neuaufbau des Servers.
  • Verwendung einer anderen Adresse für denselben Host.

Hinweis: Wenn Ihr System den Hostschlüssel speichert, zeichnet es ihn nach Adresse auf, also evenif localhost und 127.0.0.1 auf denselben Server verweisen, nimmt ein SSH-Client an, dass es sich um einen anderen Eintrag handelt.

Verwerfen Sie jedoch nicht die Möglichkeit eines Man-in-the-Middle angreifen und den Host-Fingerabdruck überprüfen, indem Sie die Server-Webkonsole ohne SSH-Verbindung verwenden.

Warnung:Remote-Host-Identifikation hat sich geändert

Betrachten Sie diese Fehlermeldung:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Please contact your system administrator.
Add correct host key in /home/demo/.ssh/known_hosts to get rid of this message.
Offending key in /home/demo/.ssh/known_hosts:15
RSA host key for 1.2.3.4 has changed and you have requested strict checking.
Host key verification failed.

Die Warnung bedeutet Folgendes:Der Fingerabdruck, der den SSH-Server identifiziert, unterscheidet sich von dem, als Sie sich das letzte Mal damit verbunden haben.

Überprüfen Sie den SSH-Fingerabdruck Ihres Servers

Sie sollten den SSH-Fingerabdruck des Servers in eine Datei schreiben, um sicherzustellen, dass Sie sich mit dem richtigen Server verbinden, insbesondere wenn Sie sich von mehreren Computern oder unbekannten Computern wie dem Desktop oder Server eines Clients verbinden.

Wenn Sie den Host-Fingerabdruck nicht haben, können Sie die Webkonsole im Cloud Control Panel verwenden.

Über die Webkonsole können Sie eine Verbindung zu Ihrem Server herstellen, als ob Sie eine Verbindung von einer seriellen Konsole her herstellen würden. Etwas, das Sie daran hindert, sich mit SSH zu verbinden, stört die serielle Konsolenverbindung nicht. Wenn Sie Hilfe beim Öffnen der Webkonsole benötigen, lesen Sie diesen Artikel zur Konsolensitzung.

Wenn Sie keinen Nutzernamen und kein Passwort haben (z. B. wenn Sie Passwörter für alle Konten deaktiviert haben), können Sie das Cloud Control Panel verwenden um das Root-Passwort des Servers zurückzusetzen. Anschließend können Sie sich mit den neuen Anmeldedaten anmelden.

Verwenden Sie ssh-keygen

Nachdem Sie sich beim Server angemeldet haben, können Sie den Fingerabdruck des Hostschlüssels abrufen. Führen Sie den folgenden ssh-keygen aus Befehl gegen den öffentlichen Schlüssel des Servers:

ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub

Das -l Option listet den Fingerabdruck und den -f /etc/ssh/ssh_host_rsa_key.pub auf Option gibt den Speicherort der öffentlichen Schlüsseldatei des Hosts an. Dieser Speicherort ist der Standard für Linux®-Server, aber Sie müssen ihn möglicherweise an einem anderen Ort finden.

Die Ausgabe ähnelt dem Fingerabdruck Ihres SSH-Clients, wie im folgenden Beispiel gezeigt:

2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx /etc/ssh/ssh_host_rsa_key.pub (RSA)

Die erste Zahl gibt die Stärke des Schlüssels an (in diesem Fall 2048 Bit). Es folgt der Fingerabdruck, die Position des Schlüssels und die Art des Schlüssels (normalerweise RSA).

Mit SSH mit localhost verbinden

Eine andere Möglichkeit, den öffentlichen Schlüssel zu erhalten, besteht darin, eine Verbindung zum SSH-Server herzustellen, indem Sie den SSH-Client innerhalb des Servers verwenden. Melden Sie sich bei der Webkonsole an und verwenden Sie dann ssh Befehl:

ssh localhost

Wenn Sie sich zum ersten Mal mit SSH mit localhost verbinden, sehen Sie eine Warnung. Die Warnung zeigt den Fingerabdruck des RSA-Schlüssels an:

The authenticity of host 'localhost (::1)' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)?

Wenn Sie sich nicht zum ersten Mal mit localhost verbinden, führen Sie die folgenden Schritte aus, um den gespeicherten Schlüssel zu löschen:

  1. Gehen Sie zur .ssh Verzeichnis in Ihrem Konto:

    cd ~/.ssh
    
  2. Bearbeiten Sie die known_hosts Datei, indem Sie die Zeile löschen, die mit localhost beginnt .

  3. Speichern Sie die Datei.

Versuchen Sie die Verbindung erneut. Diesmal sollten Sie den Fingerabdruck sehen.

Hinweis :Notieren Sie sich den Fingerabdruck, um ihn aufzubewahren, und verwenden Sie ihn für den Rest dieses Artikels.

Schließen Sie die Verbindung ab

Vergleichen Sie den erhaltenen Fingerabdruck mit dem Fingerabdruck, der angezeigt wird, wenn Sie sich remote mit dem Server verbinden. Wenn sie identisch sind, ist die Verbindung gültig. Wenn nicht, trennen Sie die Verbindung zum Netzwerk und versuchen Sie die Verbindung von einem anderen Ort aus. Wenn sie sich immer noch unterscheiden, wenden Sie sich an den Support.

Hostschlüssel hat sich geändert

Wenn Sie ein erhalten, stimmt der Fingerabdruck nicht mit den Erwartungen des Kunden überein Warnung, verwenden Sie die folgenden Anweisungen, um die Liste der bekannten Hosts auf dem Client-Computer zu bearbeiten, bevor Sie sich mit dem Server verbinden.

Linux und macOS X

Unter Linux, macOS® X und anderen Unix®-basierten Betriebssystemen verwenden Sie den ssh Befehl zum Herstellen einer Verbindung zu einem Server über SSH. Der ~/.ssh/known_hosts Datei enthält die bekannten SSH-Hostschlüssel.

Möglicherweise sehen Sie einen known_hosts2 Datei anstelle von oder zusätzlich zu known_hosts . Wenn beide Dateien vorhanden sind, verwendet das System known_hosts2 wenn Sie eine Verbindung herstellen.

Führen Sie die folgenden Schritte aus, nachdem Sie die Datei identifiziert haben:

  1. Öffnen Sie die Datei.

  2. Suchen Sie die Zeile, die mit der IP-Adresse oder dem Domänennamen des Servers beginnt. Der Eintrag für die IP-Adresse 1.2.3.4 erscheint wie im folgenden Beispiel:

     1.2.3.4 ssh-rsa AAAAB3NzaC1yc2EAAAABIwGAAQEA2Km5iIlopDndzSTbiaQZq8ynh8RPrvzBJ7dICnvAZWuH/YeNO+9DPnngzsOiYazwRD/CRSGEGRY6tS3GLclFO3Ae370aafbcq...
    
  3. Zeile löschen.

  4. Speichern Sie die Datei.

Wenn Sie das nächste Mal eine Verbindung herstellen, überprüfen Sie den Host-Fingerabdruck, bevor Sie die Verbindung herstellen.

Windows und PuTTY

Ziehen Sie für Windows®-Server die Verwendung von PuTTY® in Betracht. Wenn Sie ein anderes Programm verwenden, sehen Sie in Ihrer Benutzerdokumentation nach, wo der Client seine bekannten Hostschlüssel speichert.

Hinweis: Sie benötigen Administratorrechte auf dem Client-Computer, um die Registrierung zu bearbeiten.

Hinweis: Bearbeiten Sie die Registrierung mit Vorsicht.

PuTTY speichert seine Hostschlüssel in der Windows-Registrierung. Führen Sie die folgenden Schritte aus, um die bekannten Hostschlüssel zu finden:

  1. Gehen Sie zu Windows Menü und geben Sie regedit ein in der Suche oder Ausführen Feld.

  2. Windows ordnet die Registrierung als Ordnerhierarchie an, suchen Sie also den folgenden Ordner:

    HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys
    
  3. Suchen Sie im Ordner einen oder mehrere Einträge mit der IP-Adresse des Servers, mit dem Sie sich verbinden. Das folgende Beispiel zeigt einen mit RSA Version 2 verschlüsselten Schlüssel an Port 22, IP-Adresse 1.2.3.4 :

    rsa2@22:1.2.3.4
    
  4. Klicken Sie mit der rechten Maustaste auf den Eintrag und wählen Sie Löschen aus dem Kontextmenü. Nachdem Sie eine Bearbeitung der Registrierung erhalten haben, kann es zu Problemen kommen Warnung, Aktion bestätigen.

  5. Beenden Sie den Registrierungseditor.

Wenn Sie die SSH-Verbindung versuchen, sollten Sie eine Der Hostschlüssel des Servers ist unbekannt erhalten Warnung zusammen mit dem Fingerabdruck. Stellen Sie sicher, dass dieser Fingerabdruck und der von der Webkonsole erhaltene übereinstimmen, bevor Sie die Verbindung akzeptieren.

Zusammenfassung

Dieser Artikel beschreibt, wie Sie den Fingerabdruck des Hostschlüssels eines Servers erhalten. Erwägen Sie, die Fingerabdrücke der Hostschlüssel der Server, mit denen Sie sich verbinden, an einem sicheren Ort aufzubewahren. Sie können jederzeit auf diese Schlüssel zurückgreifen, wenn Sie einen Man-in-the-Middle ausschließen müssen Angriff, insbesondere bei Verwendung mehrerer Clients. Weitere Informationen finden Sie unter Grundlagen der Sicherheit in einem Linux-System.

Verwenden Sie die Registerkarte „Feedback“, um Kommentare abzugeben oder Fragen zu stellen. Sie können auch ein Gespräch mit uns beginnen.


Linux
  1. Verbesserung der Zusammenarbeit mit der Cloud

  2. Erstellen Sie Ihre Anwendung in der Rackspace-Cloud

  3. Verwalten Sie SSH-Schlüsselpaare für Cloud-Server mit python-novaclient

  4. Rackspace Cloud Essentials – Wählen Sie den Cloud-Server in der richtigen Größe

  5. Verwenden des python-novaclient mit Rackspace Cloud Servern

So hosten Sie eine Website auf dem NGINX-Webserver

Überprüfen Sie den Anmeldeverlauf auf Ihrem Server

Überprüfen Sie den Rackspace Cloud-Status

Fahren Sie einen Rackspace Cloud Server herunter

Fehlerbehebung bei nova-agent oder Rackspace Cloud Server Agent

So sichern Sie SSH mit Fail2Ban