Evitar teste de autenticidade ssh para endereços locais

0

Quando na mesma LAN vários servidores ssh usam DHCP, seu endereço IP pode mudar. Toda vez que eles têm um novo endereço (isto é: um endereço que eles nunca tinham antes naquela LAN), a seguinte mensagem aparece:

The authenticity of host '192.168.1.x (192.168.1.x)' can't be established.
ECDSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)?

Se eu disser yes , essa impressão digital estará permanentemente relacionada a esse endereço. Mas quando um servidor ssh diferente for 192.168.1.x, ele terá uma impressão digital diferente e um aviso strong será exibido.

Tanto o servidor como o cliente executam o Ubuntu 14.04, com as atualizações mais recentes. Eu confio no servidor porque tenho acesso físico a ele e, mesmo quando seu endereço mudou, eu sei sua autenticidade.

1) É possível que o mesmo servidor altere periodicamente sua impressão digital principal?

2) Existe uma maneira de suprimir a verificação de impressão digital somente para endereços locais, isto é, no intervalo 192.168.1.1-254?

    
por BowPark 19.09.2016 / 23:09

2 respostas

2

~ / .ssh / config:

host 192.168.1.*
    CheckHostIP no
    StrictHostKeyChecking no
    
por 19.09.2016 / 23:18
0

1) Is it possible that the same server periodically changes its key fingerprint?

Sim, a (s) chave (s) do servidor pode, em teoria, ser alterada a qualquer momento pelo administrador desse servidor. No entanto, isso destrói a confiança estabelecida, por isso não deve ser feito na prática sem razão.

Isso pode ocorrer se um servidor for recriado (novo hardware sem preservar as chaves do servidor ssh ou nuke do cenário de órbita). Também pode ocorrer se houver vários servidores com chaves diferentes que usam o mesmo nome de host (por trás de um balanceador de carga, por exemplo).

Além disso, os servidores ssh geralmente têm várias chaves de host de tipos diferentes (rsa, dsa, ecdsa, ed25519 ...), portanto, você pode ver uma impressão digital de chave diferente ao usar um cliente em comparação a outro cliente, dependendo de qual chave troca é negociada. No entanto, qualquer cliente deve sempre obter a mesma chave do servidor se nenhuma configuração do cliente nem do servidor for alterada.

2) Is there a way to suppress the fingerprint check only for local addresses, that is in the range 192.168.1.1-254

Sim. Na página de manual ssh_config , as opções CheckHostIP e StrictHostKeyChecking afetam esse comportamento. Para suprimir essas verificações para todos os nomes de host começando "192.168.1." seguido por um a três caracteres, use

Host 192.168.1.?,192.168.1.??,192.168.1.???
    CheckHostIP no
    StrictHostKeyChecking no

Observe que os padrões suportados na cláusula Host não são expressões regulares completas ou globs de shell, mas combinações de string com o único caractere ? e os caracteres wild * apenas. Portanto, se alguém conseguir registrar 1.com , esse padrão também corresponderá ao servidor remoto 192.168.1.com .

O uso do globs greedy criaria uma cláusula de configuração mais simples, Host 192.168.1.* , mas também permitiria correspondências para um intervalo mais amplo de nomes alfa-numéricos mistos, como 192.168.1.evil.qwerty.org . As chances de se conectar inadvertidamente (sem verificação da chave do host) a tal servidor é muito baixo; no entanto, é bom estar ciente de que isso é simplesmente uma string glob e não algo que será necessariamente analisado como um endereço de sub-rede, apenas porque parece um pouco como um.

    
por 20.09.2016 / 13:59