Ist es wirklich sicher, während einer Reise über SSH von Hotels aus eine Verbindung zu einem Server herzustellen?
Server :
- CentOS 7
- Autorisierung nur über RSA-Schlüssel - Kennwortauthentifizierung verweigert
- Nicht-Standard-Port
Arbeitsstation :
- Ubuntu 14
- Benutzerpasswort
- Passwort zur Verwendung des RSA-Schlüssels (Standardmethode)
Vielleicht ist es eine gute Idee, die Hälfte des privaten RSA-Schlüssels auf einem USB-Stick zu belassen und diese Hälfte vor dem Herstellen der Verbindung automatisch (per Skript) zu ~ / .ssh / private_key hinzuzufügen?
Das Internet wird entweder über WIFI in Hotels oder über Kabel in einer Mietwohnung bereitgestellt.
UPD
Entschuldigen Sie, dass Sie zunächst unklar sind. Ich meine hier Sicherheit in zwei Aspekten:
- Sicherheit nur der SSH-Verbindung über ein nicht vertrauenswürdiges Netzwerk.
- Sicherheit eines Computers mit dem für die SSH-Verbindung erforderlichen Schlüssel - wie kann der Server geschützt werden, wenn er gestohlen wird?
quelle
Antworten:
In Bezug auf das Herstellen einer ssh-Verbindung über eine explizit nicht vertrauenswürdige Verbindung.
Angenommen, Sie haben bereits einen ~ / .ssh / known_hosts-Eintrag von einer vorherigen Verbindung, dann sollten Sie in der Lage sein, eine Verbindung herzustellen, ohne sich Gedanken darüber zu machen, ob das Netzwerk sicher ist oder nicht. Dasselbe gilt, wenn Sie eine andere Möglichkeit haben, den SSH-Hostschlüssel zu überprüfen.
Wenn Sie noch nie zuvor eine Verbindung zum Server hergestellt haben oder den SSH-Hostschlüssel auf andere Weise überprüfen konnten, sollten Sie möglicherweise das für die Verbindung verwendete Netzwerk genauer betrachten.
quelle
Im zweiten Teil Ihrer Frage scheinen Sie besorgt darüber zu sein, dass Ihr Notebook und damit Ihre privaten Schlüssel für Ihre passwortlose SSH-Anmeldung bei Ihren Servern gestohlen werden.
Beachten Sie, dass dies leicht gelöst werden kann (Problem mit privaten Schlüsseln), indem private Schlüssel "verschlüsselt" mit einer "Passphrase" gespeichert werden: Sie können beim Generieren mit dem Dienstprogramm ssh-keygen zunächst verschlüsselt werden , indem am Ende von eine Passphrase angegeben wird den Generierungsprozess oder, falls Sie sie bereits nicht kodiert haben, mit dem ssh-keygen Dienstprogramm mit der
-p
Option. Sobald der Schlüssel verschlüsselt ist, werden Sie bei jeder Anmeldung aufgefordert, die zugehörige Passphrase einzugeben. Wenn dies zutrifft, läuft alles normal ab.Wenn Sie die Passphrase nicht jedes Mal eingeben möchten, wenn Sie den ssh-client starten, können Sie den ssh-agent verwenden : Er kann unverschlüsselte private Schlüssel im Speicher verfolgen. Sie können einfach ssh-add ausführen und auf die Datei verweisen, die den verschlüsselten Schlüssel enthält. Nachdem Sie nach der Passphrase gefragt haben, wird der Schlüssel dem vom ssh-agent verwalteten Satz hinzugefügt. Jedes Mal, wenn der SSH-Client einen passphrasengeschützten Schlüssel benötigt, stellt der ssh-agent den zugehörigen unverschlüsselten privaten Schlüssel dem ssh-Client transparent zur Verfügung. Sie müssen es also nicht interaktiv eingeben.
Bitte beachten Sie, dass ssh-agent viele Schlüssel verwalten kann und Sie natürlich Ihr Notebook / Ihren Desktop "optimieren" können, um das zu starten
ssh-add
Dienstprogramm (zum Auffüllen des Schlüsselsatzes von ssh-agent) beim Anmelden / Starten .Sollte jemand Ihren Laptop stehlen, sind Ihre privaten Schlüssel wahrscheinlich nicht der einzige "sensible" Inhalt, den Sie herausgeben werden. Beachten Sie, dass es mit heutigen Linux-Desktop-Distributionen SEHR einfach ist, ein Notebook einzurichten, das auf "verschlüsselt" basiert "Dateisystem (das
/home
als Starter, aber das ganze/
bei Bedarf). Bitte beachten Sie dies auch.All dies gilt natürlich NICHT , wenn Sie sich NICHT auf IHR EIGENES Notebook verlassen.
PS: wie für die Möglichkeit , die beiden Hälften der unverschlüsselten privaten Schlüssel auf verschiedene Medien gespeichert werden soll : ich stark beraten Sie nicht , dies zu tun, als die beiden Stücke von sensibleren Inhalten in unverschlüsselter Form beibehalten wird viel, viel schlimmer, als zwei halten vollständige Kopien des gesamten Inhalts, verschlüsselt!
quelle
Der erste Teil Ihrer Frage ist bereits durch die vorherige Antwort beantwortet. Gemäß Ihrem zweiten Teil würde ich empfehlen, Ihrem SSH-Login mit pam_google_authenticator einen zweiten Faktor hinzuzufügen. Es ist ziemlich einfach einzurichten und auf jeder Distribution zu konfigurieren. Falls der private Schlüssel, den Sie mit sich herumtragen, gestohlen wird, kann er sich ohne das einmalige TOTP-Passwort von google-authenticator nicht auf Ihrem Server anmelden.
https://www.howtoforge.com/tutorial/secure-ssh-with-google-authenticator-on-centos-7
quelle