it-swarm.com.de

Mehrere öffentliche Schlüssel für einen Benutzer

Diese Frage ähnelt Authentifizierung mit öffentlichem SSH-Schlüssel - kann ein öffentlicher Schlüssel für mehrere Benutzer verwendet werden? , aber es ist umgekehrt.

Ich experimentiere mit der Verwendung von ssh, damit jeder ssh-Server für Ihre Antworten funktioniert.

Kann ich mehrere öffentliche Schlüssel mit demselben Benutzer verknüpfen? Was sind die Vorteile davon? Können auch verschiedene Home-Verzeichnisse für verschiedene verwendete Schlüssel festgelegt werden (alle mit demselben Benutzer verknüpft)?

Bitte lassen Sie mich wissen, wenn ich unklar bin.

Vielen Dank.

58
Russell

Sie können so viele Schlüssel haben, wie Sie möchten. Es wird empfohlen, ohnehin separate private/öffentliche Schlüsselsätze für verschiedene Bereiche zu verwenden, z. B. einen für Ihren persönlichen Gebrauch, einen für Ihre Arbeit usw.

Generieren Sie zunächst zwei separate Schlüsselpaare, eines für zu Hause und eines für die Arbeit:

ssh-keygen -t rsa -f ~/.ssh/id_rsa.home
ssh-keygen -t rsa -f ~/.ssh/id_rsa.work

Fügen Sie als Nächstes einen Eintrag zu Ihrer ~/.ssh/config - Datei hinzu, um den zu verwendenden Schlüssel basierend auf dem Server auszuwählen, zu dem Sie eine Verbindung herstellen:

Host home
Hostname home.example.com
IdentityFile ~/.ssh/id_rsa.home
User <your home acct>

Host work
Hostname work.example.com
IdentityFile ~/.ssh/id_rsa.work
User <your work acct>

Fügen Sie als Nächstes den Inhalt Ihres id_rsa.work.pub In ~/.ssh/authorized_keys Auf der Arbeitsmaschine ein und machen Sie dasselbe für den Home-Schlüssel auf Ihrer Home-Maschine.

Wenn Sie dann eine Verbindung zum Heimserver herstellen, verwenden Sie einen der Schlüssel und den Arbeitsserver einen anderen.

Beachten Sie, dass Sie wahrscheinlich beide Schlüssel zu Ihrem ssh-agent Hinzufügen möchten, damit Sie nicht immer Ihre Passphrase eingeben müssen.

85
Phil Hollenback

Es ist sehr sinnvoll, wenn mehrere Benutzerschlüssel an einen Benutzer gehen. Häufige Gründe sind:

  • backup
  • git (z. B. Push URL: git+ssh://[email protected]/~/repos/MyProject)
  • rsync
  • gemeinsamer Zugriff auf eine App

Soweit Sie unterschiedliche Homedirs haben, können Sie diese pro Schlüssel ändern, indem Sie environment="HOME=/home/user1" Für den Schlüssel von Benutzer1 in der Datei authorized_keys voranstellen. Siehe man authorized_keys.

Probieren Sie es aus, YMMV.

5
MikeyB