Como faço para impedir que o ssh ofereça outras chaves?

4

Eu tenho algum servidor dev.example.com e em seu arquivo authorized_keys eu tenho minha chave ~/.ssh/id_rsa.pub . Eu também tenho uma chave ~/.ssh/my_test.pub .

Meu ~/.ssh/config especifica que, para dev.example.com , ele deve usar id_rsa como normalmente seria desejado.

No entanto, estou tentando testar para garantir que my_test permita apenas o acesso que desejo. Então tentei passar o arquivo -i dentity:

$ ssh -v -i /Users/wwerner/.ssh/my_test example
.
.
.
debug1: Offering RSA public key: /Users/wwerner/.ssh/id_rsa

E ele faz o login. Porcaria.

Ok, talvez seja um problema para mim usar example em vez do FQDN:

$ ssh -v -i /Users/wwerner/.ssh/my_test dev.example.com
debug1: Offering RSA public key: /Users/wwerner/.ssh/id_rsa

E ele faz o login. Talvez eu precise do meu nome de usuário?

$ ssh -v -i /Users/wwerner/.ssh/my_test [email protected]
debug1: Offering RSA public key: /Users/wwerner/.ssh/id_rsa

Ok ... agora eu uso minha rede ainda mais. Talvez o arquivo de configuração seja o que está causando isso:

$ ssh -v -F /dev/null -i /Users/wwerner/.ssh/my_test [email protected]
debug1: Reading configuration data /dev/null
debug1: Offering RSA public key: /Users/wwerner/.ssh/id_rsa

Argh! Então talvez se eu usar -o também?

$ ssh -v -F /dev/null -o IdentityFile=/dev/null -i /Users/wwerner/.ssh/my_test [email protected]
debug1: Offering RSA public key: /Users/wwerner/.ssh/id_rsa

O que estou fazendo de errado? Qual configuração eu tenho que especificar para que o ssh não ofereça meu id_rsa ?

    
por Wayne Werner 16.11.2015 / 20:22

1 resposta

4

Você pode usar a diretiva IdentitiesOnly em conjunto com a diretiva IdentityFile .

Na linha de comando, você pode usar:

ssh -v -o "IdentitiesOnly=yes" -i /Users/wwerner/.ssh/my_test dev.example.com

Como alternativa, você pode definir a diretiva no seu arquivo .ssh/config na seção do seu host.

Veja man ssh_config para detalhes

    
por 16.11.2015 / 20:31