ssh_config opção de chave de host visual (sim não)

0

/etc/ssh/ssh_config tem ssh_visual host key no opção. O que faz?

Editado: na verdade, visual, não virtual. Ainda assim, o que está controlando?

    
por sixtytrees 26.04.2018 / 16:37

2 respostas

2

Veja man ssh_config :

VisualHostKey

If this flag is set to yes, an ASCII art representation
of the remote host key fingerprint is printed in addition
to the fingerprint string at login and for unknown host keys.
If this flag is set to no (the default), no finger‐print 
strings are printed at login and only the fingerprint string
will be printed for unknown host keys.
    
por PerlDuck 01.05.2018 / 17:06
2

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)

    
por Thomas Ward 01.05.2018 / 17:12