Como configurar um servidor SSH para usar uma determinada chave pública?

3

Eu tenho uma área de trabalho dual boot do Windows 7 / Ubuntu 12.04 e instalei o servidor openSSH em ambos (usando o cygwin64 no windows). Eu conectei do meu laptop, executando o Ubuntu 12.04, ao servidor openSSH Cygwin64, e uma entrada para ~/.ssh/known_hosts foi normalmente adicionada. Agora, eu estou tentando se conectar ao servidor Ubuntu OpenSSH (mesmo IP, nome de domínio) e eu recebo o erro:

WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 

Isto é claro, porque os 2 servidores rodando em diferentes sistemas operacionais na mesma máquina criaram diferentes chaves públicas e impressões digitais correspondentes. Existe alguma maneira de sincronizá-los (ou seja, copiar todas as informações de chave pública de um para o outro)?

    
O
por extreme 17.10.2013 / 16:12

2 respostas

0

Esta não é a melhor maneira de contornar o problema. Se você configurar o lado do Ubuntu para usar um endereço IP diferente do que você usa no Windows, você não deve ter esse problema.

Se você não puder fazer isso, uma solução mais direta é desabilitar a verificação da chave do host para esse host em seu laptop.

Note que isso evitará que o ssh o avise sobre um ataque man-in-the-middle em que alguém está representando seu sistema de inicialização dupla na sua rede, mas isso provavelmente tem uma chance muito pequena de acontecer.

Para desabilitar a verificação da chave do host, adicione o seguinte ao topo de ~ / .ssh / config ou / etc / ssh / ssh_config:

Host <HOSTNAME OR IP ADDRESS>
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null

A opção 'StrictHostKeyCheck no' impedirá que o seu laptop verifique a identificação do host remoto, e a opção 'UserKnownHostsFile = / dev / null' fará com que o ssh salve a identificação do host remoto em / dev / null, o que significa que ganhou ' t ser salvo.

    
por Omegamormegil 28.12.2013 / 23:02
0

O arquivo de chave do host padrão é / etc / ssh / ssh_host_key para a versão de protocolo 1 e / etc / ssh / ssh_host_rsa_key e / etc / ssh / ssh_host_dsa_key para a versão de protocolo 2. Tente copiar esses arquivos do seu sistema Ubuntu para seu Cygwin sistema (ou vice-versa).

Outra opção é usar a opção de configuração HostKey em sshd_config para apontar para um arquivo de chave de host alternativo que seja o mesmo em ambos os sistemas.

    
por richardneish 19.02.2014 / 23:09