ssh não honra a chave passada na linha de comando

3

Estou tendo problemas para fazer login em uma das minhas máquinas usando autenticação de chave pública, portanto, quero depurar o problema. Eu tenho um arquivo de configuração ssh complexo, que eu quero ignorar por enquanto até encontrar o problema. Então estou especificando tudo na linha de comando:

ssh -F /dev/null -vvv -i ~/.ssh/mykey -p 12345 myuser@mymachine

Mas o ssh continua oferecendo muitos arquivos de chave pública (todos eles falhando) em vez de simplesmente oferecer o que eu forço na linha de comando.

Na verdade, ele oferece todas as chaves que eu tenho no meu diretório ~/.ssh . Ele começa a oferecer o que eu estou forçando, mas isso falha (eu ainda não sei porque), e então ele continua oferecendo o resto de pubkeys no diretório ~/.ssh .

Por que isso? Eu esperaria que depois que mykey falhasse, ele deveria parar de tentar.

    
por dangonfast 14.02.2017 / 07:51

1 resposta

2

O OpenSSH está oferecendo identidades padrão e as identidades carregadas no ssh-agent por padrão (que geralmente é o que você quer). Se você quiser evitar esse comportamento, há a opção IdentitiesOnly :

IdentitiesOnly

Specifies that ssh(1) should only use the authentication identity and certificate files explicitly configured in the ssh_config files or passed on the ssh(1) command-line, even if ssh-agent(1) or a PKCS11Provider offers more identities. The argument to this keyword must be yes or no (the default). This option is intended for situations where ssh-agent offers many different identities.

    
por 14.02.2017 / 08:58