it-swarm.com.de

Sollte ich für jeden Computer, auf dem ich arbeite, neue private SSH-Schlüssel generieren?

Ich hoffe, dies ist ein geeigneter Ort, um diese Frage zu stellen. Ich habe kürzlich über öffentliche und private Schlüssel nachgedacht und mich gefragt, welche Best Practices mit der Verwaltung meiner persönlichen privaten Schlüssel zusammenhängen. Was ist der beste Weg, um private Schlüssel zu verwenden, wenn ich regelmäßig drei verschiedene Computer (Personal Desktop, Work Desktop, Laptop) sowie andere Computer mit gelegentlicher Verwendung verwende?

Derzeit generiere ich auf jedem Computer, den ich verwende, ein neues Schlüsselpaar und füge es dann nach Bedarf zu autorisierten Schlüsseln hinzu. Ist dies der beste Weg, oder sollte ich ein einzelnes Schlüsselpaar verwenden und es auf alle von mir verwendeten Computer kopieren? Ich denke, die Frage ist, sollte mein Schlüsselpaar verwendet werden, um "mich" oder "mich am X-Computer" zu identifizieren?

15
Ryan

Die Frage ist etwas verwirrend. Soweit ich weiß, möchten Sie sich über SSH, das mit PubKeyAuthentication eingerichtet wurde, von einem Ihrer drei Computer aus bei einem Server anmelden.

Sie sollten für jede Maschine ein Schlüsselpaar generieren. Auf diese Weise müssen Sie nicht auf allen drei Computern, von denen Sie sich anmelden, ein Schlüsselpaar neu generieren, wenn ein privater Schlüssel kompromittiert wird. Tatsächlich möchten Sie sich (gegenüber dem Server) als "Sie am Computer X" identifizieren.

Wenn Sie PGP verwendet haben, sollten Sie ein eindeutiges Schlüsselpaar verwenden, um sich (gegenüber anderen PGP-Benutzern) als "Sie" zu identifizieren.

12
dr_

Jedes Schlüsselpaar repräsentiert ein Identität. Manchmal kann es nützlich sein, auf jedem Computer, den Sie verwenden, eine andere Identität zu haben, aber manchmal kann es nützlich sein, eine Identität zwischen Geräten zu teilen.

Wenn Sie für jedes Gerät einen eigenen Schlüssel haben, gilt Folgendes:

  • Ihre Kommunikationspartner müssen über die öffentlichen Schlüssel für alle Ihre Geräte verfügen und eine Bestätigung, dass Sie es sind (Sie können letztere bereitstellen, indem Sie die Schlüssel aller Geräte mit den Schlüsseln aller anderen Geräte signieren). Dies wird ziemlich umständlich, wenn Sie jemals ein neues Gerät kaufen.
  • Ihre Kommunikationspartner wissen, von welchem ​​Gerät aus Sie eine Nachricht senden, was Ihre Privatsphäre beeinträchtigt.

Wenn Sie die Schlüssel nur für private Zwecke verwenden, z. B. um sich bei Ihrem eigenen Server anzumelden, hat ein separater Schlüssel für jedes Gerät den Vorteil, dass Sie diesen Schlüssel nur widerrufen müssen, wenn ein Schlüssel kompromittiert wird, und dies nicht müssen Ersetzen Sie den Schlüssel an jedem einzelnen Gerät, das Sie besitzen. Die Kosten hierfür sind jedoch mit einem höheren Verwaltungsaufwand verbunden: Um ein neues Gerät hinzuzufügen, müssen Sie sich mit einem alten Gerät anmelden, um den neuen öffentlichen Schlüssel hinzuzufügen. Bei einem freigegebenen Schlüssel müssen Sie den Schlüssel nur auf das neue Gerät kopieren.

3
Philipp

Ist dies der beste Weg, oder sollte ich ein einzelnes Schlüsselpaar verwenden und es auf alle von mir verwendeten Computer kopieren?

Da @ dr01 die Risiken hervorhob, sollten Sie einen einzelnen Schlüssel pro Computer verwenden.

sollte mein Schlüsselpaar verwendet werden, um "mich" oder "mich am X-Computer" zu identifizieren?

Jedes kennwort- oder schlüsselbasierte Authentifizierungssystem identifiziert nur die Kenntnis des Geheimnisses oder Schlüssels und nicht des Benutzers.

Das Problem bei der Verwendung eines Kennworts zur Authentifizierung besteht darin, dass nicht nachgewiesen wird, dass Sie sich anmelden. Alles was es beweist ist, dass sie Ihr Passwort kennen ( http://www.pcmag.com/article2/0,2817,2428440,00.asp ).

Ein Schlüssel identifiziert Sie also nie, sondern nur, wenn ein Benutzer (Sie am Computer X oder jemand am Computer Y) den Schlüssel hat.

1
Dr. mattle

Berücksichtigen Sie auch die Idee, ein Hardwaregerät zu verwenden. Ein YubiKey NEO kann einen GPG-Schlüssel speichern und der GPG-Agent kann diesen verwenden, um ihn bei jedem Server genau wie eine normale ~/Identitätsdatei zu authentifizieren.

Es gibt ein Tutorial zur Verwendung von gpgkey2ssh und gpg-agent , um dies einzurichten.

1
Jeff Ferland