Recentemente, precisei também disso e descobri isso:
ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no example.com
Você precisa ter certeza de que o cliente não está configurado para não permitir a autenticação de senha.
Se eu usar o pubkey auth de, por exemplo: um Ubuntu 11.04, como posso definir o cliente ssh para usar somente a senha auth em um servidor? (apenas necessário por causa do teste de senhas em um servidor, onde eu padrão de login com chave)
Eu encontrei um jeito:
mv ~/.ssh/id_rsa ~/.ssh/id_rsa.backup
mv ~/.ssh/id_rsa.pub ~/.ssh/id_rsa.pub.backup
e agora sou solicitado a fornecer uma senha, mas existem maneiras oficiais?
Recentemente, precisei também disso e descobri isso:
ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no example.com
Você precisa ter certeza de que o cliente não está configurado para não permitir a autenticação de senha.
Eu descobri um atalho para essa finalidade:
ssh user:@example.com
Observe os dois pontos ( :
) e a senha vazia depois dela.
Além do método postado pelo scoopr, você pode definir as opções por host no arquivo de configuração do seu cliente ssh.
No diretório .ssh
, crie um arquivo chamado config
(se ainda não existir) e defina as permissões como 600
. Em seguida, você pode criar seções que começam com
host <some hostname or pattern>
e, em seguida, defina as opções por host depois disso, por exemplo,
host bob.specific.foo
user fred
host *.home.example
user billy
port 9191
para que você possa ter
host server.to.test
PubkeyAuthentication=no
nesse arquivo e, em seguida, simplesmente
ssh server.to.test
e a opção será escolhida.
Recentemente precisei disso, mas nenhuma das opções acima funcionou, ssh -v
mostrou que as opções de linha de comando transmitidas pela opção -o
foram substituídas pelos valores especificados no meu arquivo ~/.ssh/config
.
O que funcionou foi isto:
ssh -F /dev/null <username>@<host>
Na página ssh
man:
-F configfile
Specifies an alternative per-user configuration file. If a
configuration file is given on the command line, the system-wide
configuration file (/etc/ssh/ssh_config) will be ignored. The default
for the per-user configuration file is ~/.ssh/config.
Créditos para esta resposta: Como posso fazer o ssh ignorar? .ssh / config?
Eu tentei algumas dessas respostas, mas ssh -v
continuou mostrando minhas chaves públicas sendo retiradas do meu diretório pessoal. No entanto, a especificação de um arquivo de identidade falso fez o truque para mim:
ssh -i /dev/null host
Eu tenho que fazer isso permanentemente (para contornar o servidor SSH quebrado em uma PDU montada em rack da APC - fique longe dessas coisas se você se preocupa com segurança - então acabei colocando a opção no meu arquivo de configuração:
Host apc1 apc2
KexAlgorithms +diffie-hellman-group1-sha1
IdentityFile /dev/null
As respostas @scoopr e @Halil Özgür não funcionaram para mim.
Isso funcionou para mim:
ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no [email protected]
Fonte: link
E também tenha certeza, não há BatchMode=yes
ativo em .ssh / config.
Caso contrário, você não tem chance de obter uma solicitação de senha interativa.
Eu posso ser o único no mundo com esse problema, mas eu tive um ssh
de outro sistema operacional em execução (choco ssh no Windows em um shell cygwin) visto via which ssh
Então a solução foi
/usr/bin/ssh [email protected]
Anote o caminho completo. Eu fiz isso depois de executar cyg-get openssh