Questão Como posso evitar a verificação de host do SSH para hosts conhecidos?


Eu recebo o seguinte aviso toda vez que tento conectar um servidor usando o SSH. Eu digito "sim", mas existe uma maneira de fazer isso?

The authenticity of host '111.222.333.444 (111.222.333.444)' can't be established.
RSA key fingerprint is f3:cf:58:ae:71:0b:c8:04:6f:34:a3:b2:e4:1e:0c:8b.
Are you sure you want to continue connecting (yes/no)? 

127


origem


/ dev / null existe para aqueles que pensam que são imunes ao homem nos ataques do meio :) - Tim Post♦
Pior parte: tipo y para poupar algum tempo e reclama: Please type 'yes' or 'no':  (hmph) - ADTC


Respostas:


Use o -o opção,

ssh -o "StrictHostKeyChecking no" user@host

180



Você pode querer usar um arquivo de identidade alternativo com o sinalizador '-i' - MUY Belgium
Qual seria o uso de um arquivo de identidade alternativo? Quero dizer, se você está se conectando a um host comprometido, que diferença faz como você se autentica - não é como se o host comprometido pudesse roubar sua chave também. - Dagelf


Adicione as seguintes linhas ao início de /etc/ssh/ssh_config...

Host 192.168.0.*
   StrictHostKeyChecking no
   UserKnownHostsFile=/dev/null

Opções:

  • A sub-rede do host pode ser * para permitir acesso irrestrito a todos os IPs.
  • Editar /etc/ssh/ssh_config para configuração global ou ~/.ssh/config para configuração específica do usuário.

Vejo http://linuxcommando.blogspot.com/2008/10/how-to-disable-ssh-host-key-checking.html


78



Coitado eu só posso te vingar uma vez. Definir KnownHosts como / dev / null é genial. - J0hnG4lt
Você é o mais esperto. - Darth Egregious
Ha! Diga minha esposa. - JimFred


Você só deve obter isso na primeira vez que se conectar a um novo host. Depois de responder yes o host fica armazenado em ~/.ssh/known_hosts e você não será solicitado na próxima vez que se conectar.

Note que se ~/.ssh/known_hosts não pode ser escrito por qualquer motivo (por exemplo, problema de permissões), então você será solicitado toda vez que você se conectar.


26



A questão é que existe alguma maneira de evitar o prompt? - shantanuo
Eu tentei adicionar "CheckHostIP não" ao arquivo / etc / ssh / ssh_config. Mas isso não parece estar funcionando - shantanuo
sudo chown -R user: usuário .ssh; sudo chmod 700 .ssh; sudo chmod -R 600 .ssh /; ssh-keygen -R $ nome_do_host e reconecta-se que deve remover TODOS os problemas e SOMENTE re-avisar se um ssk_Hostkey estiver corrompido | mudou ou você é vítima de um MITM. - linuxdev2013
diz "everytime", então essa resposta é super apropriada - tarikakyol


A melhor maneira (porque não sacrifica a segurança) é conectar-se uma vez a todos os computadores a partir de um cliente (você será avisado sempre, sempre responda sim). Como apontado na outra resposta, as chaves serão armazenadas em ~ / .ssh / known_hosts. Em seguida, copie esse arquivo para cada computador cliente que você possa querer conectar posteriormente (possivelmente para cada conta de usuário que você usa). Então, todas essas contas "conhecerão" os computadores, portanto, nenhum prompt.

A vantagem sobre a desativação do prompt é que o SSH pode realmente verificar se há um ataque MITM.


11



Embora, se você costuma fazer ssh através de conexões de redirecionamento, você vai querer adicionar isto em / etc / ssh / ssh_config: Host 127.0.0.1 NoHostAuthenticationForLocalhost yes - Dagelf


Se você quiser desabilitar a confirmação, ao invés da autenticação, você pode usar a opção: "-o CheckHostIP = no"

ssh -i sergeys_rsa_key.pem -o CheckHostIP=no brin@8.8.8.8

1



O OP já recebeu a mesma resposta e aceitou. - Ayan


Isto é provavelmente porque o seu servidor de chaves ssh mudou, já que o ip ou domínio do servidor é o mesmo, mas a incompatibilidade da chave ssh.

Você deve remover a chave armazenada em /home/$user/.ssh/known_hosts para evitar essa mensagem.

Eu consertei a remoção de todas as chaves nesse arquivo, portanto, um novo token é criado para esse nome de domínio.


0



Chave mudou produz uma mensagem muito mais feia com uma caixa de sinais e WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!  e IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! em maiúsculas. A mensagem na pergunta ocorre somente se houver não já uma entrada em known_hosts. - dave_thompson_085