Confie no servidor SSH com base na chave, em vez de na chave if + IP match

8

É possível fazer com que o cliente ssh não se importe com qual IP um servidor ssh está por trás (e se um servidor diferente estava atrás desse IP anteriormente), mas em vez disso, confiar em chaves específicas do servidor? (E talvez apelido essas chaves?) Eu uso DNS dinâmico e tenho extensões de privacidade IPv6 habilitadas em alguns computadores e estou sempre sendo perguntado se ele acha que é seguro para se conectar. Outra possibilidade são os endereços atribuídos pelo DHCP sendo atribuídos a diferentes servidores ssh e causando todos os tipos de erros 'chave não corresponde ao IP'.

    
por Azendale 12.06.2011 / 08:48

2 respostas

7

Adicione um apelido para o seu servidor em ~/.ssh/config e desative a opção CheckHostIP para este servidor.

Host nickname
HostName example.dyndns.org
CheckHostIP no

Antes de se conectar ao servidor pela primeira vez, você pode copiar a chave pública fora de banda: grab /etc/ssh/ssh_host_rsa_key.pub do servidor, remova a parte root@hostname no final da linha, adicione example.dyndns.org no início e anexe a linha a ~/.ssh/known_hosts . Opcionalmente, execute ssh-keygen -H para alterar o nome do host (isso só é útil se você está preocupado com a privacidade dessa entrada se alguém rouba seu disco rígido ou seus backups, o que para 99,99% das pessoas é inútil porque as informações estão presentes em algum outro local próximo de qualquer maneira).

    
por Gilles 12.06.2011 / 12:12
2

Em /etc/ssh/ssh_config adicione a linha

CheckHostIP no

No entanto, isso tira um pouco do Secure no SSH, porque qualquer máquina pode se esconder atrás do IP ou do nome do DynDNS ao qual você se conecta.

    
O
por htorque 12.06.2011 / 11:57

Tags