Como forçar o ssh a usar uma chave privada específica?

40

Com ssh -i <private key filename>você, você pode instruir o ssh a usar uma chave privada extra para tentar a autenticação.

A documentação não está clara sobre como usar explicitamente apenas essa chave.

Herman van Rink
fonte

Respostas:

57

Você pode usar a opção IdentitiesOnly:

ssh -o "IdentitiesOnly=yes" -i <private key filename> <hostname>

Herman van Rink
fonte
12
na verdade, 'IdentitiesOnly' desativa o prompt do ssh-agent, mas ainda oferece padrões e chaves ssh_config'd.
Rogerovo
2
O importante para mim é que ele não procura, por exemplo, no meu diretório ~ / .ssh, chaves para tentar.
Herman van Rink
Obrigado! Eu precisava do -o "IdentitiesOnly=yes"pouco para impedir a ssh-agentsubstituição da chave privada especificada.
user2708667 19/03
Isso é super útil para determinar qual chave funciona com um determinado host quando você tem chaves em cache no ssh-agent. A única maneira de descobrir isso sem essa bandeira era usar strace para despejar o IO, o que era bastante tedioso.
Wil