Por que não consigo me conectar ao VPS depois de mudar o sistema operacional do CentOS para o Ubuntu?

2

Recentemente, mudei meu sistema operacional VPS do CentOS para o Ubuntu. Infelizmente, desde então, não consigo me conectar ao meu VPS. A mensagem a seguir é exibida repetidamente (captura de tela anexada). Por que isso está acontecendo e como posso resolver isso?

    
por tuxtu 09.12.2013 / 04:16

2 respostas

5

A mensagem informa tudo o que você precisa saber. Você precisa editar o arquivo, known_hosts e remover a chave incorreta que foi adicionada do sistema operacional anterior.

Cada vez que você instala uma distro diferente, um novo conjunto de chaves SSH públicas / privadas é gerado por host.

Usando um editor

Normalmente, só abro o arquivo em vim e vou para o número da linha especificado na mensagem de erro:

Offending RSA key in /home/fahim/.ssh/known_hosts:1

O número da linha seria 1. Uma vez em vim , vá para o número de linha 1, : 1 e então apague-o, dd . Uma vez feito, salve o arquivo, : w .

Usando o ssh-keygen

Você também pode excluir programaticamente entradas do arquivo, mas tenha cuidado, ele removerá todas as correspondências para IP e / ou hostname, dependendo do método escolhido.

$ ssh-keygen -R <hostname or IP>

OBSERVAÇÃO: Se você olhar a mensagem, ele está lhe dizendo para executar este tipo de comando:

remove with: ssh-keygen -f "/home/fahim/.ssh/known_hosts" -R 23.88.229.252

Exemplo

Digamos que eu tenha esse host chamado smurfy.

$ ssh-keygen -R smurfy
# Host smurfy found: line 139 type RSA
/home/saml/.ssh/known_hosts updated.
Original contents retained as /home/saml/.ssh/known_hosts.old

Não especificando o arquivo com a opção -f , ssh-keygen removerá a entrada do arquivo known_hosts padrão, que é o que está localizado aqui, /home/saml/.ssh/known_hosts .

    
por 09.12.2013 / 04:32
2

No que diz respeito ao SSH, a identidade de uma máquina é sua chave privada SSH. A chave privada SSH é metade de um par de chaves; a outra metade é uma chave pública. O par de chaves é armazenado em dois arquivos, localizados em /etc/ssh_host_rsa_key e /etc/ssh_host_rsa_key.pub (ou locais semelhantes, por exemplo, no diretório /etc/ssh ou com dsa ou ecdsa em vez de rsa ). O par de chaves é gerado quando você instala o sistema.

Quando você faz login nessa máquina remotamente, o cliente SSH precisa verificar se está conectado à máquina certa e não a um imitador que espiona seu tráfego. Ele pode fazer essa verificação se você tiver uma cópia da chave pública no cliente (tais são as maravilhas da criptografia de chave pública). A primeira vez que você se conecta a um novo host remoto, o SSH armazena uma cópia de sua chave pública em ~/.ssh/known_hosts .

Se você reinstalar uma máquina, é uma nova máquina. Não importa o nome: qualquer um pode se passar por um nome. Mas a chave privada é única; depois de reinstalar, a máquina tem uma chave privada diferente, não é mais a mesma máquina. Se você quiser manter a mesma máquina, você precisa fazer o backup e restaurar o par de chaves.

Ao efetuar login em uma máquina remota, você especifica seu nome, não sua chave pública. O nome especificado serve como um apelido para a identidade "real" da máquina, que é sua chave pública. (Pense na chave como o DNA da máquina.) O arquivo known_hosts é um banco de dados que mapeia apelidos para identidades (chaves públicas).

Após a reinstalação, a máquina manteve seu apelido, mas mudou sua identidade - ou, em outras palavras, há uma nova máquina com o mesmo apelido. Isto é indistinguível de um atacante tentando passar como a máquina legítima. Isso é o que o grande aviso assustador é sobre.

Como a máquina antiga não existe mais, você precisa remover a referência a ela do arquivo known_hosts . Você faz isso com o comando ssh-keygen -R … , conforme indicado na mensagem de ssh . Esse comando atualizou seu arquivo known_hosts para que o SSH não saiba mais sobre seu apelido para a máquina, para que você possa reutilizar esse apelido para outra máquina (que, por acaso, tem o mesmo endereço IP, mas não é a mesma par de chaves é diferente).

    
por 10.12.2013 / 03:42

Tags