Jak korzystać z ssh-agent z wieloma (ważnymi) kluczami, a jednocześnie wybrać, którego użyć?

20

Powiedzmy, że istnieją dwa klawisze Ai B, z których oba są ważne dla user@hostuwierzytelniania klucza publicznego. Ponieważ authorized_keysjest skonfigurowany do różnych zachowań w zależności od klucza, ~/.ssh/configna kliencie używa czegoś takiego

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

To działa dobrze. Jednak w momencie, gdy używam ssh-agenti dodam oba klucze Aoraz B(np. W celu wprowadzenia ich haseł przy logowaniu zamiast kiedy dzwonię do odpowiedniego ssh A.hostlub ssh B.host), połączenie zawsze będzie używać tego samego identyfikatora dla obu wirtualnych hostów. Czy jest jakiś sposób na określenie, z którego przechowywanego klucza sshnależy korzystać ssh-agentbez konieczności usuwania drugiego klucza?

Tobias Kienzler
źródło
Dziękuję @jasonwryan, to prowadzi mnie do przekonania, że ​​muszę dodać IdentitiesOnly yes. To także odpowiedź na inne pytanie, które dziwnie skończyło się na SU ... Spróbuję tego jutro
Tobias Kienzler

Odpowiedzi:

16

Jak podano w innym miejscu , sztuczka polega na dodaniu opcji, IdentitiesOnly yesktóra zapewnia, że będą używane tylko skonfigurowane klucze, nawet jeśli inne są dostępne od agenta.

Tobias Kienzler
źródło