~ / .ssh / config:
host 192.168.1.*
CheckHostIP no
StrictHostKeyChecking no
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?
~ / .ssh / config:
host 192.168.1.*
CheckHostIP no
StrictHostKeyChecking no
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.
Tags ssh networking security ip ubuntu