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 esta mensagem quando usava SSH no passado: sempre digitei meu login com uma senha da maneira normal e me senti bem por não usar chaves públicas / privadas (o que é muito mais seguro que uma senha curta). Mas desta vez eu configurei uma chave pública com ssh para minha conexão com o bitbucket, mas ainda recebi a mensagem. Estou ciente de que o prompt da 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':
fonte
ssh
que não há como dizer que você realmente está falandobitbucket.org
. Se você configurou alguma maneira de saber, não está funcionando. Se você não fez, então está dizendo que você não fez.Respostas:
Está dizendo que você nunca se conectou a este servidor antes. Se você estava esperando isso, é perfeitamente normal. Se você é 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ê já se conectou a este servidor antes desta instalação do ssh, o servidor foi reconfigurado com uma nova chave ou alguém está falsificando a identidade do servidor. Devido à seriedade de um ataque do tipo intermediário, 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 tem relação ... você não deseja enviar informações de autenticação para um servidor fraudulento que possa roubá-las e, portanto, não deve esperar nenhuma alteração, dependendo de usar uma senha ou chave privada para efetuar login. Você simplesmente não chegou tão longe no processo ainda.
fonte
Digamos que você conhece alguém para trocar alguns segredos comerciais. Seu orientador informa 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 irá mais avisá-lo. É isso que a mensagem significa. A pessoa é o servidor remoto e seu orientador é o cliente ssh.
Não acho paranóico checar a identidade da pessoa antes de compartilhar segredos com ela. Por exemplo, você pode 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, obter a imagem de sua face e compará-la com a que você obtém no computador que está usando agora. Usar:
Se as faces corresponderem, você poderá adicionar a chave ao arquivo, por exemplo
~/.ssh/known_hosts
(local padrão em muitas distribuições Linux) com:e o cliente ssh não avisará, pois já conhece o rosto dela . Ele comparará os rostos sempre que você 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 o rosto terá mudado.
fonte
ssh-keyscan -t rsa -H bitbucket.org >> ~/.ssh/known_hosts
Obrigado Ivan!known_hosts
apenas digitando "yes" no aviso original, como já mostrado na pergunta) e perigoso (a chave que você adicionou ao seu arquivo não é necessariamente o mesmo que você olhou, porque o buscou duas vezes!)?Eu simplesmente tive que criar o
known_hosts
arquivo de texto em~/.ssh
Depois de fazer isso, ele adicionou o host e eu nunca mais vi a mensagem.
fonte
known_hosts
arquivo (com as permissões corretas) não impede que você pergunte sobre a autenticidade do novo servidor ... A menos que você já tenha buscado a assinatura da chave de pub desse servidor e a tenha colocado no seuknown_hosts
, que é o caminho normal para ignorar a verificação (embora apenas dizer "sim" para a verificação é muitas vezes mais rápido para alcançar o mesmo)Existe outra maneira fácil. Basta tocar em um arquivo "config" em /root/.ssh e adicionar o parâmetro StrictHostKeyChecking no Na próxima vez em que você fizer login em um servidor, a chave rsa será adicionada ao known_hosts e não solicitará "yes" para confirmação de autenticidade
fonte
Essa mensagem é apenas o SSH informando que você nunca viu essa chave de host específica antes, portanto, não é possível verificar realmente se você está se conectando ao host que pensa ser. Quando você diz "Sim", coloca a chave ssh no seu arquivo known_hosts e, nas 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, https://stackoverflow.com/questions/3663895/ssh-the-authenticity-of-host-hostname-cant-be-established .
fonte
Além das respostas já dadas (você nunca se conectou a este host antes), também há a possibilidade distinta de você nunca se conectar a partir do host atual antes (a esse host); isso é apenas psicologicamente diferente; você pensa que está se conectando do host A (para B), enquanto realmente está tentando se conectar do host X (para B). Isso pode acontecer, por exemplo, quando você faz uma ssh pela primeira vez de A a X e depois pelo mesmo terminal tenta ssh para B pensando que ainda está no A.
fonte
ssh
) e os aplicativos de terminal suportam o encaminhamento de agente. reduza o número de chaves ssh que você precisa gerenciar apenas para seus dispositivos finais.No meu caso, a senha menos logon não estava funcionando por causa das minhas permissões de diretório inicial 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 / nome de usuário
/home/username/.ssh
/home/username/.ssh/authorized_keys
fonte