SSH: desativando completamente a autenticação de senha

13

existe uma maneira de desativar completamente a autenticação de senha? A linha de comando é a seguinte:

ssh -o KbdInteractiveAuthentication=no -o PasswordAuthentication=no machine" 

AINDA pede uma senha. É claro que eu gostaria de fazer isso sem tocar no servidor, se possível.

Peltier
fonte

Respostas:

19

Ok, eu encontrei! Está

ssh -o BatchMode=yes host

Não é muito intuitivo, especialmente com o fato de as opções que eu tentei anteriormente não funcionarem.

Peltier
fonte
4

Você pode adicionar essas opções ao .ssh / config e salvar algumas digitações:

Host host
BatchMode yes

deve fazer o trabalho.

Dan Andreatta
fonte
3

Eu apenas tive esse problema e encontrei a resposta aqui:

http://www.gossamer-threads.com/lists/openssh/dev/47179

Basicamente, o openssh usou o teclado interativo para implementar o desafio-repsonse. Portanto, se uma dessas opções estiver definida como "yes", o teclado interativo será definido como "yes" no código. Você deve definir ambos como "não" para obter o comportamento desejado.

Eu tive que fazer:

ssh -o PasswordAuthentication=no -o KbdInteractiveAuthentication=no -o ChallengeResponseAuthentication=no

Obviamente, a BatchMode=yesconfiguração cuidaria de tudo isso para você e o protegeria no futuro contra qualquer novo método de autenticação interativa do usuário no futuro.

onlynone
fonte