Как использовать ssh-agent с несколькими (действительными) ключами и все же выбрать, какой использовать?

20

Допустим, есть два ключа, Aи Bоба они действительны для user@hostаутентификации с открытым ключом. Так authorized_keysкак настроено на различное поведение в зависимости от ключа, ~/.ssh/configна клиенте используется что-то вроде

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

Это отлично работает. Однако в тот момент, когда я использую ssh-agentи добавляю оба ключа Aи B(например, чтобы ввести их парольные фразы при входе в систему, а не когда я вызываю соответствующий ssh A.hostили ssh B.host), соединение всегда будет использовать один и тот же идентификатор для обоих виртуальных хостов. Есть ли способ указать, какой хранимый ключ sshследует использовать, ssh-agentне удаляя другой ключ?

Тобиас Кинцлер
источник
Спасибо @jasonwryan, это заставляет меня верить, что я должен добавить IdentitiesOnly yes. Это также ответ на другой вопрос, который странным образом закончился на SU ... Я попробую это завтра
Тобиас Кинцлер

Ответы:

16

Как уже было сказано в другом месте , хитрость заключается в добавлении опции, IdentitiesOnly yesкоторая гарантирует, что будут использоваться только настроенные ключи, даже если другие доступны от агента.

Тобиас Кинцлер
источник