Eu quero que o comando ssh permita apenas uma chance de digitar a senha, se a senha estiver errada na primeira vez que o ssh retornará
Permission denied (publickey......).
Existe um sinalizador que diz ao ssh para solicitar apenas uma vez a senha?
Ao invés de:
[nir@dhcppc4 ~]$ ssh [email protected]
[email protected]'s password:
Permission denied, please try again.
[email protected]'s password:
Permission denied, please try again.
[email protected]'s password:
Permission denied (publickey.....).
Eu quero:
[nir@dhcppc4 ~]$ ssh [email protected]
[email protected]'s password:
Permission denied (publickey.....).
A solução deve estar no lado do cliente (por exemplo, algum sinalizador para o comando ssh ou usando o pipeline), não consigo tocar sshd_config
ou qualquer outro arquivo de configuração do sistema. Como em geral eu construo software de terceiros (para que eu não possa gerar chaves nem arquivos de sistema de configuração) que acessam os servidores na LAN, as senhas são salvas no banco de dados (portanto, não precisa de segunda tentativa). E no meu código, se eu puder assumir que eu tenho apenas uma tentativa ssh
/ scp
isso simplificará o código relevante.
Respostas:
Na página do manual sshd config
man 5 sshd_config
:Portanto, uma configuração de
MaxAuthTries 2
será a configuração que você precisará.sshd
precisará ser reiniciado posteriormente (deve ser executado como root):ou
No lado do cliente, isso pode ser definido com as configurações ssh (observe
man 5 ssh_config
as configurações que você pode aplicar):Então edite seu
~/.ssh/config
arquivo e adicione:Onde
<name_or_ip_of_host|*>
o IP canônico ou o nome do host que você está usando na linha de comando ou*
para todas as tentativas de conexão do host. Você também pode especificar isso na linha de comando sem precisar editar seu/.ssh/config
arquivo:fonte
sshd_config
Veja MaxAuthTries em
sshd_config
. O padrão é 6, portanto, lembre-se de que você pode estar tentando a autenticação de pubkey antes de tentar a autenticação de senha ao selecionar seu valor.fonte