Ist es eine schlechte Idee, denselben privaten SSH-Schlüssel auf mehreren Computern zu verwenden?

35

Ich habe kürzlich einen Laptop gekauft, von dem aus ich auf dieselben Remote-Hosts zugreifen kann, die ich von meinem Desktop aus verwende. Mir ist der Gedanke gekommen, dass es möglich sein könnte, die private Schlüsseldatei einfach von meinem Desktop auf meinen Laptop zu kopieren und zu vermeiden, dass ~/.ssh/authorized_keysich den Dateien auf allen Hosts, auf die ich zugreifen möchte, einen neuen Schlüssel hinzufügen muss . Meine Fragen sind also:

  1. Ist das überhaupt möglich?
  2. Gibt es nicht offensichtliche Sicherheitsrisiken?
  3. Manchmal melde ich mich von meinem Laptop auf meinem Desktop an. Wenn Sie denselben Schlüssel verwenden würden, würde dies zu Problemen führen?
Jason Creighton
quelle
2
Ich vermute, Sie meinen authorisierte_Tasten, nicht bekannte_Hosts. Ersteres ist für eingehende, letzteres für ausgehende.
Matthew Schinckel
Guter Fang. Fest.
Jason Creighton

Antworten:

29

Ja, das ist möglich. Ihr privater Schlüssel ist nicht an einen einzelnen Computer gebunden.

Nicht sicher, was du mit nicht offensichtlich meinst, das ist oft subjektiv;). Es ist überhaupt keine schlechte Idee, wenn Sie sicherstellen, dass Sie eine sehr starke Passphrase mit mindestens 20 Zeichen haben.

Es gibt keine Probleme beim Herstellen einer Verbindung mit demselben Schlüssel wie auf Ihrem Desktop. Ich würde einen ssh-Agenten für Ihren Schlüssel auf dem Laptop einrichten und den Agenten an den Desktop weiterleiten, damit Sie diesen Schlüssel auf anderen Systemen verwenden, auf die Sie von dort aus zugreifen.

Aus der Manpage von ssh-agent auf einem Linux-System:

ssh-agent ist ein Programm zum Speichern von privaten Schlüsseln, die für die Authentifizierung mit öffentlichen Schlüsseln (RSA, DSA) verwendet werden. Die Idee ist, dass ssh-agent zu Beginn einer X-Sitzung oder einer Anmeldesitzung gestartet wird und alle anderen Fenster oder Programme als Clients für das Programm ssh-agent gestartet werden. Durch die Verwendung von Umgebungsvariablen kann der Agent gefunden und automatisch zur Authentifizierung verwendet werden, wenn Sie sich mit ssh (1) bei anderen Computern anmelden.

Sie würden dies auf Ihrem Laptop ausführen, entweder mit dem Programm ssh-agent unter Linux / Unix (es wird mit OpenSSH geliefert) oder mit puTTY agent, wenn Sie Windows verwenden. Der Agent muss auf keinem Remote-System ausgeführt werden. Er speichert lediglich Ihren privaten Schlüssel im lokalen System, sodass Sie Ihre Passphrase nur einmal eingeben müssen, um den Schlüssel in den Agenten zu laden.

sshDie Agentenweiterleitung ist eine Funktion des ssh-Clients ( oder Puttys), die den Agenten einfach über die ssh-Verbindung an andere Systeme weiterleitet.

jtimberman
quelle
1
Ich verstehe nicht ganz, was Sie in Bezug auf die Weiterleitung von SSH-Agenten vorschlagen. Könnten Sie diesen Punkt etwas näher erläutern? Ich sollte erwähnen, dass ich nicht darauf zählen kann, dass der Desktop immer verfügbar ist, wenn ich meinen Laptop verwenden muss.
Jason Creighton
Die Antwort wurde aktualisiert :)
jtimberman
10

Früher habe ich auf allen meinen Computern einen einzelnen privaten Schlüssel verwendet (und einige davon sind nur Benutzer, keine Administratoren), aber kürzlich hat sich dies geändert. Es funktioniert mit dem einen Schlüssel, aber wenn Sie den Schlüssel widerrufen müssen (wenn er kompromittiert ist), müssen Sie ihn auf allen Computern ändern.

Wenn ein Angreifer Zugriff erhält und in der Lage ist, auf einen anderen Computer zu sshen, kann er natürlich den Schlüssel von diesem Computer erhalten und so weiter. Ich fühle mich ein wenig sicherer, wenn ich weiß, dass ich nur einen Schlüssel widerrufen und die Maschine sperren kann. Es bedeutet jedoch, dass ich den Schlüssel aus der authorized_keys-Datei entfernen muss.

Matthew Schinckel
quelle
Es tut uns leid, einen alten Beitrag zu vernichten, aber glauben Sie, dass dies durch die Verschlüsselung Ihres privaten Schlüssels mit einem Passwort gemildert werden könnte? Oder wurde in Ihrem Fall auch das Passwort kompromittiert?
Drittplatzierter
1
Es würde wahrscheinlich durch eine Passphrase auf dem Schlüssel gemildert werden. Tatsächlich könnten Sie jedoch wahrscheinlich die ssh-Weiterleitung (mithilfe eines Agenten) verwenden und dann nur den einen Schlüssel pro tatsächlich verwendetem Computer haben und tatsächlich kennwortgeschützt haben.
Matthew Schinckel