Firmemente, considere que /etc/ssh/ssh_config
é a configuração do SSH cliente em todo o sistema. Isso significa que sempre que você ssh
do seu computador para servidores remotos, essa configuração entra em jogo.
Por padrão, quando você se conecta a um servidor pela primeira vez, o sistema solicita que você informe se a impressão digital SSH do servidor remoto é "esperada" ou não, para que você possa verificar se o servidor é realmente legítimo ou não (o administrador do servidor pode informar qual é a impressão digital do servidor e verificar o que você vê no cliente SSH em relação ao que ele informa). A maioria dos usuários finais não vai caractere por caractere para verificar a impressão digital em si.
No entanto, há um componente extra que vemos com keygen que, por padrão, não vemos com a verificação de impressão digital de SSH. É chamado de 'arte aleatória' e cada chave / impressão digital deve ter uma arte aleatória única.
Considere esta chave que acabei de gerar, para uma chave 'falsa', dentro de um contêiner biônico. Mostra-nos um randomart e a impressão digital:
The key fingerprint is:
SHA256:xtaA8biLm/Jktn9A/j2sty686uosrRtz0GQIFw6nP2s root@bionic
The key's randomart image is:
+---[RSA 4096]----+
|o +. . |
| B . = |
|. o o o o |
| . + .o o |
| + .o. S . |
| + .o+ |
| E.* .+ o |
| .oO.+ = = |
| oBO++oo*oo |
+----[SHA256]-----+
A ideia por trás da Imagem Visual da chave do host é que o usuário final provavelmente não irá caractere por caractere para verificar a impressão digital, e contará apenas com as primeiras várias e durar vários caracteres como o 'skim' da impressão digital. E, de fato, por causa disso, os agentes de ameaças podem tentar “personificar” gerando chaves que combinam os primeiros e vários caracteres na impressão digital, para “enganar” as pessoas, já que elas não são propensas a fazer caractere por caractere. verificações de impressões digitais de caracteres.
É aqui que a peça da Random Art entra em cena - chaves diferentes, mesmo que tenham os mesmos bits 'first' e 'last', terão randomart diferente para chaves diferentes, que um usuário padrão seria capaz de identificar como um diferença substancial (que não seria detectada em uma chave, a menos que eles fizessem uma identificação / comparação de impressão digital caractere por caractere)
Por padrão, o cliente SSH não mostra o randomart de chaves remotas (a configuração VisualHostKey no
que é o padrão). No entanto, se você definir VisualHostKey
para yes
e descomentar essa linha no arquivo de configuração, o sistema também mostrará o randomart da chave remota para ajudar os usuários a "verificarem" se a impressão digital do servidor é válida.
Primeiro, um exemplo sem VisualHostKey
definido como on
:
$ ssh -p 22 [email protected]
The authenticity of host '10.73.250.210 (10.73.250.210)' can't be established.
ECDSA key fingerprint is SHA256:ZDA6BYWGmr0ftUqQxCu1CsaonKqKKUM3fbMzKUlMorE.
Are you sure you want to continue connecting (yes/no)?
e agora o mesmo prompt, mas com o randomart mostrado ( VisualHostKey yes
):
$ ssh -p 22 [email protected]
The authenticity of host '10.73.250.210 (10.73.250.210)' can't be established.
ECDSA key fingerprint is SHA256:ZDA6BYWGmr0ftUqQxCu1CsaonKqKKUM3fbMzKUlMorE.
+---[ECDSA 256]---+
| . ..+= |
| = oo o |
|o* =o o |
|*+*. o.o |
|=o=o=. .S |
|oE.oo+.o |
|o .oooo + |
|=. oo = |
|O. . o |
+----[SHA256]-----+
Are you sure you want to continue connecting (yes/no)?
É muito mais fácil determinar o randomart de um servidor que é 'válido' versus a representação de texto da impressão digital, não?
(Note que esta é a descrição 'longa' do que a manpage está dizendo sobre essa opção de configuração, e é provavelmente mais fácil de entender com exemplos visuais, e assim por diante, do que a explicação do manpage seco)