Powiedzmy, że istnieją dwa klawisze A
i B
, z których oba są ważne dla user@host
uwierzytelniania klucza publicznego. Ponieważ authorized_keys
jest skonfigurowany do różnych zachowań w zależności od klucza, ~/.ssh/config
na 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-agent
i dodam oba klucze A
oraz B
(np. W celu wprowadzenia ich haseł przy logowaniu zamiast kiedy dzwonię do odpowiedniego ssh A.host
lub 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 ssh
należy korzystać ssh-agent
bez konieczności usuwania drugiego klucza?
IdentitiesOnly yes
. To także odpowiedź na inne pytanie, które dziwnie skończyło się na SU ... Spróbuję tego jutroOdpowiedzi:
Jak podano w innym miejscu , sztuczka polega na dodaniu opcji,
IdentitiesOnly yes
która zapewnia, że będą używane tylko skonfigurowane klucze, nawet jeśli inne są dostępne od agenta.źródło