SSH-Schlüsselauthentifizierung mit mehreren Computern

21

Ich habe über die SSH-Schlüsselauthentifizierung gelesen und sie auf meinen 3 Computern zu Hause eingerichtet.

Ich habe einen Hauptcomputer, nenne ihn "A", und zwei andere, nenne sie "B" und "C".

Nun, basierend auf der Dokumentation, die ich gelesen habe, würde ich ssh-keygen auf B und C ausführen und die öffentlichen Schlüssel auf Computer A ablegen, vorausgesetzt, ich werde immer SSH auf Computer A ablegen, wenn ich auf B oder C bin.

Aber ich denke, dass die Dokumentationsbeispiele, die ich gelesen habe, davon ausgehen, dass nur 1 Heimcomputer verwendet wird, sagen wir, ein anderer Fremdcomputer. Ist es in meiner Situation sinnvoll, ssh-keygen nur auf einem Computer auszuführen und die Dateien auf die anderen zu kopieren? Auf diese Weise muss ich nur einen Schlüsselsatz sichern? Und wenn ich mich bei einem externen Computer anmelde, muss ich ihn nur mit einem Schlüsselsatz einrichten und muss ihn nicht mit allen drei Computern einrichten.

Macht das Sinn? Irgendwelche Mängel oder Warnhinweise zu beachten?

Vielen Dank.

Linstar
quelle

Antworten:

29

Sie können theoretisch beides tun, aber jedes hat seine Vor- und Nachteile:

Sie können in der Tat nur einen Schlüssel erstellen, ihn als "Ihren" (als Person) bezeichnen, ihn irgendwo sichern und auf jeden von Ihnen verwendeten Computer kopieren. Der Vorteil ist, dass Sie von überall aus eine Verbindung zu A herstellen können, solange Sie über Ihren privaten SSH-Schlüssel verfügen. Der Nachteil ist, dass Sie, solange Sie Ihren privaten Schlüssel von einem Ort an einen anderen kopieren, das Risiko erhöhen, dass er von jemandem gelesen wird, der die Verbindung abhört. Schlimmer noch, wenn Computer C gestohlen wird, müssen Sie auf allen Computern, die diesen Schlüssel verwenden, einen neuen Schlüssel neu generieren und einen neuen verteilen.

Andererseits hat die Verwendung von 1 Schlüssel pro Benutzer @ Computer den Vorteil einer stärkeren "Feinsteuerung" gegenüber "Was" kann "Wo" verbinden. Dies ist die gebräuchlichste Vorgehensweise.

Wenn Sie beispielsweise Ihrem Bruder / Ihrer Schwester / Ihrer Frau / Ihrem Ehemann / Ihrem Freund / Ihrem Hund oder einem Dieb (ohne Ihre Zustimmung) Computer C geben würden, müssten Sie nur den Schlüssel von A's '' authorized_keys '' entfernen. Datei.

Selbst wenn es "more keys in authorized_keys" bedeutet, schlage ich den zweiten Ansatz vor.

mveroone
quelle
Sie können einen ssh-Stream nicht mit dem privaten Schlüssel des Clients entschlüsseln. Abhängig von den Servereinstellungen können Sie ihn auch nicht mit dem privaten Schlüssel des Servers entschlüsseln. zurlinux.com/?p=1772
Dan Merillat
Das stimmt, und das habe ich nicht gemeint. Ich meinte, wenn Ihr privater Schlüssel gestohlen wird, kann man ihn verwenden, um von irgendwo anders eine Verbindung zu Computer A herzustellen. Dies kann durch Hinzufügen eines FROM = "<IP>" am Anfang der Zeile authorized_keys verringert werden. (Siehe
SSH-
Nachdem ich es kopiert hatte, musste ich mein Passwort eingeben, um es auf meinem anderen Computer zu verwenden. Ich denke, das ist zumindest eine gewisse Sicherheit :)
OZZIE
3

Die Verwendung der gleichen Tasten auf allen drei Computern ist definitiv machbar - ich mache es die ganze Zeit, hauptsächlich aus Bequemlichkeitsgründen.

Kwaio weist zu Recht darauf hin, dass dies das Risiko einer Gefährdung Ihrer Schlüssel erhöht. Eine mögliche Lösung wäre, die privaten und öffentlichen Schlüsselkomponenten zu trennen. So:

  • Alle Computer haben Ihren öffentlichen Schlüssel in der Datei authorized_keys.
  • Sie behalten 2 Kopien Ihres privaten Schlüssels; Der eine befindet sich in einem USB-Stick um den Hals (für den Zugriff auf einen anderen Computer mit ssh) und der andere in einem USB-Stick in einem Safe (nur für den Fall, dass Sie die erste Kopie verlieren).

Wenn einer Ihrer Computer gestohlen wird oder Ihr öffentlicher Schlüssel auf andere Weise kompromittiert wird, handelt es sich nur um einen öffentlichen Schlüssel.

Wenn Ihr privater Schlüssel gestohlen wird oder verloren geht, können Sie sofort ein neues Schlüsselpaar generieren und die öffentlichen Schlüssel auf allen Ihren Computern aktualisieren.

HTH.

Alan Ward
quelle
2
Ok, aber was ist HTH?
mikeserv
3
HTH = Hoffe das hilft.
ALAN WARD
1
Es ist ratsam, darauf hinzuweisen, dass es sinnvoll ist, Ihren privaten Schlüssel als passphrasengeschützten privaten Schlüssel zu definieren, wenn Sie ihn in ein Flash-Laufwerk legen. Inconvienence der mit der Passphrase jedes Mal eingeben kann unter Verwendung eines Mittels (pagent an Fenstern, Sshmittel auf Linux) gemildert werden
mveroone