Como lidar com a verificação da chave do host ssh com 2 anfitriões diferentes na mesma (mas mudando) o endereço IP? [fechadas]
-
06-09-2019 - |
Pergunta
Eu tenho 2 servidores SSH por trás de um firewall nat em um local que muda sua wan IP a cada dia. Eles estão sempre ao mesmo wan endereço IP em um determinado momento, mas em portas diferentes.
Eu estou conectando ao servidor A desta maneira:
ssh -p 22001 karl@x1.example.com
e servidor B:
ssh -p 22002 karl@x2.example.com
Então, eu recebo 2 chaves de host diferentes para o mesmo IP, e também quando o IP muda mesmo um IP diferente para o mesmo host.
Eu tenho que ir sobre a eliminação de mais e mais a outra chave ou a chave de idade (no caso de mudança de IP) no arquivo known_hosts.
Eu estou hesitando em desligue a chave de verificação, porque isso seria menos seguro. Mas recebendo um aviso o tempo todo também não segura (porque eu ignorar tais alertas o tempo todo, então). Existe uma solução melhor?
Isso está relacionado à minha velha questão aqui, mas não é o mesmo:
Solução
Eu acho que isso vai funcionar:
Crie um arquivo config
em seu diretório .ssh
da seguinte forma:
Host server1
Hostname x1.example.com
HostKeyAlias server1
CheckHostIP no
Port 22001
User karl
Host server2
Hostname x2.example.com
HostKeyAlias server2
CheckHostIP no
Port 22002
User karl
explicação abaixo (a partir man ssh_config
)
CheckHostIP
Se este sinalizador estiver definido para "Sim", ssh (1), adicionalmente, verifique o endereço IP de acolhimento nos known_hosts Arquivo. Isso permite que ssh para detectar se um chave de host alterado devido à falsificação de DNS. Se a opção é definida como "não", o verificação não será executada. o padrão é "sim".
HostKeyAlias ??
Especifica um alias que deve ser usado em vez do real nome do host quando se olha para cima ou para salvar a chave de host na chave de host arquivos de banco de dados. Esta opção é útil para SSH tunneling conexões ou para vários servidores em execução em um único host.
A linha de Username
e Port
evita que você tenha que dar essas opções na linha de comando, também, então você pode apenas usar:
% ssh server1
% ssh server2