Wie können mehrere private Schlüssel mit ssh verwendet werden?


58

Ich konnte ssh für die Verwendung der Authentifizierung mit privaten / öffentlichen Schlüsseln einrichten. Jetzt kann ich es tun

ssh user@server1

Und es meldet sich mit dem privaten Schlüssel an. Jetzt möchte ich eine Verbindung zu einem anderen Server herstellen und einen anderen Schlüssel verwenden. Wie stelle ich das so ein?

ssh user@server1

benutzt privatekey1

ssh user@server2

und benutzt privatekey2


7
Kein wirklicher Grund - die eine ist eine persönliche Mythenbox und die andere ein Arbeitsserver, und ich wollte meinen Home-Schlüssel nicht bei der Arbeit verwenden.
Joshua

Keine der Antworten scheint die vollständige Frage zu beantworten, z. B. wie man verschiedene Schlüssel privatekey1 und privatekey2 erstellt
jpwynn

Antworten:


49

Es gibt einige Möglichkeiten.

  1. Laden Sie beide Schlüssel mit in Ihren ssh-Agenten ssh-add. Dann sind beide Schlüssel verfügbar, wenn eine Verbindung zu beiden Servern hergestellt wird

  2. Erstellen Sie Ihre $HOME/.ssh/configDatei und erstellen Sie einen HostAbschnitt für Server1 und einen anderen für Server2. Fügen Sie in jedem HostAbschnitt eine IdentityFileOption hinzu, die auf die entsprechende private Schlüsseldatei verweist


2
ssh agent war eine großartige Idee, auch wenn ich sowohl die öffentlichen als auch die privaten Schlüsseldateien, dh key1 und key1.pub, in ~ / .ssh habe, werden sie automatisch geladen.
Joshua

57

Sie können dies in Ihrer ~/.ssh/configDatei einstellen . Du hättest so etwas:

Host server1
IdentityFile ~/.ssh/key_file1

Host server2
IdentityFile ~/.ssh/key_file2

man ssh_config ist eine Referenz


4
Sie können auch Userfür jeden Host angeben, dass die Tastenanschläge reduziert werden sollen. Wenn Sie einen neuen SSH-Schlüssel für jeden Host generieren, ssh-keygenstellen Sie sicher, dass Sie tatsächlich einen alternativen Schlüsselpfad eingeben.
Marco Ceppi

Gibt es eine Option, um einen Standardschlüssel anzugeben, wie zum Beispiel host x ->key1key2
say

Ja, verwenden Sie sh Host * und fügen Sie die Standardeinstellungen hinzu, um die Überschreibungen darunter hinzuzufügen. Außerdem: sh man_ssh_config Insbesondere der Teil im Abschnitt "Host" in Bezug auf das Sternchen "*" und das Ausrufezeichen "!"
Immeëmosol
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.