Como usar o ssh-agent com várias chaves (válidas) e ainda escolher qual usar?

20

Digamos que há duas chaves Ae B, ambas válidas para user@hostautenticação de chave pública. Como authorized_keysestá configurado para um comportamento diferente, dependendo da chave, ~/.ssh/configo cliente usa algo como

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

Isso funciona bem. No entanto, no momento em que eu uso ssh-agente adiciono ambas as chaves Ae B(por exemplo, para inserir suas senhas no login, em vez de quando eu chamo o respectivo ssh A.hostou ssh B.host), a conexão sempre usa o mesmo ID para os dois hosts virtuais. Existe alguma maneira de especificar qual chave armazenada sshdeve ser usada ssh-agentsem ter que remover a outra chave?

Tobias Kienzler
fonte
Obrigado @jasonwryan, isso me leva a acreditar que tenho que adicionar IdentitiesOnly yes. Essa também é a resposta para outra pergunta que, estranhamente, acabou no SU ... Vou tentar amanhã
Tobias Kienzler

Respostas:

16

Como respondido em outro lugar , o truque é adicionar a opção IdentitiesOnly yesque garante que apenas as chaves configuradas sejam usadas, mesmo que outras estejam disponíveis no agente.

Tobias Kienzler
fonte