Wie verwende ich ssh-agent mit mehreren (gültigen) Schlüsseln und wähle dennoch den zu verwendenden aus?

20

Angenommen, es gibt zwei Schlüssel, Aund Bbeide sind für die user@hostAuthentifizierung mit öffentlichen Schlüsseln gültig . Da authorized_keyses je nach Schlüssel für unterschiedliches Verhalten konfiguriert ist, verwendet ~/.ssh/configder Client so etwas wie

Host A.host
    HostName host
    User user
    IdentityFile ~/.ssh/A
Host B.host
    HostName host
    User user
    IdentityFile ~/.ssh/B

Das funktioniert gut. In dem Moment, in dem ich ssh-agentbeide Schlüssel verwende und hinzufüge Aund B(z. B. um ihre Passphrasen beim Anmelden einzugeben, anstatt wenn ich das jeweilige ssh A.hostoder anrufe ssh B.host), verwendet die Verbindung für beide virtuellen Hosts immer dieselbe ID. Gibt es eine Möglichkeit anzugeben, welcher gespeicherte Schlüssel verwendet werden sshsoll, ssh-agentohne dass der andere Schlüssel entfernt werden muss?

Tobias Kienzler
quelle
Danke @jasonwryan, das lässt mich glauben, ich muss hinzufügen IdentitiesOnly yes. Das ist auch die Antwort auf eine andere Frage, die seltsamerweise in SU
Tobias Kienzler

Antworten:

16

Wie an anderer Stelle beantwortet , besteht der Trick darin, die Option hinzuzufügen, mit der IdentitiesOnly yessichergestellt wird, dass nur die konfigurierten Schlüssel verwendet werden, auch wenn andere vom Agenten verfügbar sind.

Tobias Kienzler
quelle