SSH: A autenticidade do host não pode ser estabelecida

67

O que essa mensagem significa? Isso é um problema em potencial? O canal não é seguro?

Ou isso é simplesmente uma mensagem padrão que é sempre exibida ao se conectar a um novo servidor?

Estou acostumado a ver essa mensagem ao usar o SSH no passado: sempre inseri meu login com uma senha do jeito normal, e me senti bem porque não estava usando chaves privadas / públicas (o que é muito mais seguro do que uma senha curta). Mas desta vez eu configurei uma chave pública com o ssh para minha conexão com o bitbucket, mas ainda recebi a mensagem. Estou ciente de que a frase-senha no final é uma medida de segurança suplementar diferente para a descriptografia da chave privada.

Espero que alguém possa dar uma boa explicação para o que se entende por essa mensagem de "autenticidade não pode ser estabelecida".

The authenticity of host 'bitbucket.org (207.223.240.181)' can't be established.

RSA key fingerprint is 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'bitbucket.org,207.223.240.181' (RSA) to the list of
known hosts.
Enter passphrase for key '/c/Users/Steven/.ssh/id_rsa':
    
por Steven Lu 06.05.2012 / 01:39

7 respostas

61

Está dizendo que você nunca se conectou a este servidor antes. Se você estava esperando isso, é perfeitamente normal. Se você estiver paranóico, verifique a soma de verificação / impressão digital da chave usando um canal alternativo. (Mas observe que alguém que pode redirecionar sua conexão ssh também pode redirecionar uma sessão do navegador da Web.)

Se você se conectou a este servidor antes dessa instalação do ssh, o servidor foi reconfigurado com uma nova chave ou alguém está falsificando a identidade do servidor. Devido à gravidade de um ataque man-in-the-middle, você está avisando sobre a possibilidade.

De qualquer forma, você tem um canal criptografado seguro para alguém . Ninguém sem a chave privada correspondente à impressão digital 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40 pode decodificar o que você envia.

A chave que você usa para se autenticar não está relacionada ... você não deseja enviar informações de autenticação para um servidor fraudulento que possa roubá-las e, portanto, você não deve esperar nenhuma alteração, dependendo de usar uma frase secreta ou chave privada para fazer o login. Você simplesmente não chegou tão longe no processo ainda.

    
por 06.05.2012 / 02:23
16

Digamos que você encontre alguém para trocar alguns segredos comerciais. Seu orientador lhe diz que você nunca conheceu essa pessoa antes, e que ela pode ser um impostor. Além disso, para as próximas reuniões com ele, seu orientador não vai mais avisá-lo. É isso que a mensagem significa. A pessoa é o servidor remoto e seu orientador é o cliente ssh.

Não acho que seja paranóico verificar novamente a identidade da pessoa antes de compartilhar segredos com ela. Por exemplo, você poderia abrir uma página da web com uma foto dela e compará-la com o rosto à sua frente. Ou verifique seu cartão de identidade.

Para o servidor bitbucket, você pode usar um computador diferente e mais confiável e obter a imagem da face dele, e então compará-lo com o que você obtém no computador que está usando agora . Use:

 ssh-keyscan -t rsa bitbucket.org | ssh-keygen -lv -f -

Se a correspondência é exibida , você pode adicionar a chave ao arquivo, por exemplo ~/.ssh/known_hosts (localização padrão em muitas distribuições Linux) com:

ssh-keyscan -t rsa -H bitbucket.org >> ~/.ssh/known_hosts

e o cliente ssh não irá avisá-lo como ele já conhece o rosto dela . Ele irá comparar os rostos sempre que você se conectar. Isso é muito importante. No caso de um impostor (por exemplo, um ataque man-in-the-middle), o cliente ssh rejeitará a conexão porque a face terá mudado.

    
por 10.08.2016 / 13:42
6

Eu simplesmente tive que criar o arquivo de texto known_hosts em ~/.ssh

sudo vim ~/.ssh/known_hosts
sudo chmod 777 ~/.ssh/known_hosts

Depois de fazer isso, ele adicionou o host e nunca mais vi a mensagem novamente.

    
por 16.07.2014 / 17:44
1

Esta mensagem é apenas SSH informando que nunca viu essa chave de host em particular antes, por isso não é possível realmente verificar se você está se conectando ao host que você acredita estar. Quando você diz "Sim", ele coloca a chave ssh em seu arquivo known_hosts e, em conexões subseqüentes, compara a chave obtida do host com a do arquivo known_hosts.

Havia um artigo relacionado sobre estouro de pilha mostrando como desabilitar esse aviso, link .

    
por 06.05.2012 / 01:52
0

Existe outro caminho fácil Basta tocar em um arquivo "config" em /root/.ssh e adicionar o parâmetro StrictHostKeyChecking no Da próxima vez que você fizer login em um servidor, a chave rsa será adicionada a known_hosts e não solicitará "sim" para confirmação de autenticidade

    
por 16.12.2014 / 09:23
0

Além das respostas já fornecidas (você nunca se conectou a este host antes), há também a possibilidade distinta de nunca ter conectado o host atual antes (àquele host); isso é apenas psicologicamente diferente; você pensa que está se conectando do host A (para B), enquanto na verdade você está tentando se conectar do host X (para B). Isso pode acontecer, por exemplo, quando você fez um ssh de A para X e, a partir do mesmo terminal, tentou ssh para B pensando que você ainda está em A.

    
por 04.11.2017 / 14:51
0

No meu caso, a senha menos login não estava funcionando por causa das permissões do meu diretório pessoal, porque alterei as configurações padrão. Finalmente, aqui está o que funcionou para mim. minhas permissões de diretório inicial são

/ home / username

drwxr----x. 18 username     groupname  4096 May 11 11:52 username

/home/username/.ssh

268823097 drwx------   2 username groupname     29 May 11 11:53 .ssh

/home/username/.ssh/authorized_keys

-rw-r----- 1 username groupname 402 May 11 11:53 authorized_keys
    
por 11.05.2018 / 13:03