Existe uma maneira de ignorar temporariamente meu ~/.ssh/known_hosts
arquivo?
mbp:~ alexus$ ssh 10.52.11.171
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Please contact your system administrator.
Add correct host key in /Users/alexus/.ssh/known_hosts to get rid of this message.
Offending RSA key in /Users/alexus/.ssh/known_hosts:155
RSA host key for 10.52.11.171 has changed and you have requested strict checking.
Host key verification failed.
mbp:~ alexus$
NOTA:
.. com algumas respostas / comentários, percebo que minha pergunta é um pouco enganadora, tão curta que é um comportamento esperado), então é normal (no meu caso) há uma razão válida por trás disso. quer ver "ignore")
Respostas:
Você pode usar
ssh -o StrictHostKeyChecking=no
para desativar a verificaçãoknown_hosts
momentaneamente. Mas eu desaconselharia isso. Você realmente deve verificar por que a chave do host mudou.Outra opção é adicionar uma entrada específica à sua
~/.ssh/config
para o host em questão. Essa pode ser uma abordagem válida se você tiver um determinado host que gera novas chaves de host toda vez que ele é reiniciado e é reiniciado por um motivo válido várias vezes ao dia.fonte
-o StrictHostKeyChecking=no
remove a capacidade de efetuar login com uma senha. A falta de um sinalizador para isso contraria diretamente os princípios unix de permitir que o usuário force o comportamento? Atualmente, estou tentando fazer login em uma máquina local com um IP local. A chave do host mudou porque eu reformatei a máquina. Tudo aqui faz sentido e nada é um risco de segurança nessas circunstâncias.Para ignorar completamente o arquivo de hosts conhecidos em um ambiente POSIX, configure as opções
GlobalKnownHostsFile
eUserKnownHostsFile
para/dev/null
:ssh -o GlobalKnownHostsFile=/dev/null -o UserKnownHostsFile=/dev/null user@host
Definir a
StrictHostKeyChecking=no
opção permitirá que você se conecte, mas o SSH ainda mostrará um aviso :ssh -o StrictHostKeyChecking=no user@host
Como outros observaram, provavelmente é melhor abordar a questão subjacente. Você pode considerar a autenticação de certificado SSH para verificar hosts, por exemplo.
fonte
-o StrictHostKeyChecking=no
além das-o GlobalKnownHostsFile=/dev/null -o UserKnownHostsFile=/dev/null
opções? - para uma resposta final dessh -o GlobalKnownHostsFile=/dev/null -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no user@host
:?Se você reinstalou o servidor e, portanto, a Identificação mudou, você deve excluir a linha 155 especificada
/Users/alexus/.ssh/known_hosts
e prosseguir.Se você alternar entre redes privadas diferentes, use nomes de host para se conectar, pois o cliente ssh também salvará as chaves, dependendo do nome do host. Adicione algo assim ao seu
/etc/hosts
:e use
ssh server1
quando estiver conectado à sub-rede 1 essh server2
quando estiver conectado à sub -rede2. Dessa forma, os dois servidores podem ter chaves de host diferentes.fonte
-o StrictHostKeyChecking=no
só funciona se o host ainda não estiver presente no arquivo known_hosts.Eu acho que é mais limpo (sem avisos), se você espera que a chave dos hosts mude, talvez devido à clonagem vm, para forçar a ignorância desses tipos de hosts como este:
fonte
Algumas pessoas dizem que não é certo, você não deve fazer isso e assim por diante, mas eu preciso disso também para testar alguns dispositivos incorporados repetidamente. Você precisa desativar
StrictHostKeyChecking=no
, isso está correto, mas também redefinir o arquivo de hosts conhecidos para/dev/null
. Aqui está um exemplo com login automático eps
no dispositivo remoto.fonte
Faça logon em todos os seus servidores (e se RedHat)
rm -f /etc/ssh/ssh_host_*
e reinicie o SSHD.Isso criará novas chaves de host SSH que não precisam ser ignoradas.
Só consigo pensar em uma instância em que as chaves SSH clonadas em vários servidores não são apenas desejadas, mas também não emitem nenhum aviso. Múltiplos de um registro A. Todos os hosts com o registro A têm a mesma chave.
fonte