Mehrere private SSH-Schlüssel möglich?

11

Ist es möglich, mehrere SSH-Schlüssel in einem einzigen Client zu haben und ssh automatisch den richtigen auswählen zu lassen?

Gänseblümchen
quelle

Antworten:

16

Sie können verschiedene private Schlüssel in verschiedenen Dateien haben und alle angeben, ~/.ssh/configindem Sie separate IdentityFileWerte verwenden (oder die -iOption während der Ausführung verwenden ssh). Sie würden nacheinander ausprobiert (Kasse man 5 ssh_config).

Wenn Sie jedoch verwenden ssh-agent, müssen Sie dem Agenten möglicherweise die mehreren Schlüssel mitteilen, die Sie verwenden ssh-add.

Anil
quelle
Beachten Sie, dass Sie bei einem Konto mit mehreren gültigen Schlüsseln (z. B. weil Sie authorized_keysbestimmte Befehle anstelle einer Shell ausführen) möglicherweise die IdentitiesOnly yesOption verwenden müssen, um sicherzustellen, ssh-agentdass nicht der falsche verwendet wird. Siehe auch unix.stackexchange.com/q/52092/863
Tobias Kienzler
10

Ja:

-i identity_file

Wählt eine Datei aus, aus der die Identität (privater Schlüssel) für die Authentifizierung mit öffentlichem Schlüssel gelesen wird. Der Standard ist ~/.ssh/identityfür Protokollversion 1, und ~/.ssh/id_dsa, ~/.ssh/id_ecdsaund ~/.ssh/id_rsafür Protokollversion 2. Identität Dateien auch auf einer Pro-Host - Basis in der Konfigurationsdatei angegeben werden. Es können mehrere -iOptionen (und mehrere Identitäten in Konfigurationsdateien angegeben) verwendet werden. ssh versucht auch, Zertifikatinformationen aus dem Dateinamen zu laden, der durch Anhängen -cert.puban Identitätsdateinamen erhalten wird.

Fügen Sie einfach -ifür jede Identität hinzu oder verwenden Sie mehrere IdentityFileZeilen in Ihnen .ssh/config.

Stéphane Gimenez
quelle