Preciso me conectar a um host com um endereço IP dinâmico.
Toda vez que seu IP muda, o SSH solicita a validação da impressão digital:
The authenticity of host '...' can't be established.
RSA key fingerprint is ....
Are you sure you want to continue connecting (yes/no)?
Seria possível passar SSH a chave pública do host, para que:
- SSH valida automaticamente a autenticidade do host
- A chave do host não é armazenada no arquivo known_hosts
Esta pergunta difere de Como posso evitar a verificação de host do SSH para hosts conhecidos? desde que outras questões metas para validação suprimir SSH, enquanto eu não quero para suprimi-la: eu não quero ter o anfitrião autenticado, apenas usando a chave pública do host (que eu sei, e tê-lo armazenado em um arquivo) ao invés de SSH known_hosts
Arquivo.
Para mim, a outra pergunta parece ser sobre como conectar-se a um servidor diferente todas as vezes, em vez de conectar-se a um único servidor conhecido com um IP dinâmico.
fonte
HostKeyAlias
valor de configuração ao seu~/.ssh/config
arquivo ou mesmo ao/etc/ssh/ssh_config
arquivo global .O
known_hosts
arquivo não é apenas a chave, também contém o nome do host que você usa para conectar-se e, se possível, o IP correspondente. É por isso que você vê o erro: ele está comparando o trio que ele obtém do servidor com o que você armazenou no arquivo known_hosts.Portanto, se o IP continuar mudando, você poderá desativar
CheckHostIP
e isso significa que apenas verificará o nome do host e a chave do host. Se eles permanecerem inalterados, você deverá ter menos reclamações, mas estará em risco se alguém invadir seu DNS.fonte
known_hosts
. Por quê? Não posso dizer "ssh connect to X cuja chave pública é Y"? Por que não? Isso não seria 100% certo.