Obtendo a primeira impressão digital

Obtendo a primeira impressão digital

Meu entendimento de uma impressão digital RSA é que ela é basicamente uma chave hash.

Meu entendimento de uma porta encaminhada é de acordo com a seguinte seção de man ssh:

 -R [bind_address:]port:host:hostport
         Specifies that the given port on the remote (server) host is to
         be forwarded to the given host and port on the local side.  This
         works by allocating a socket to listen to port on the remote
         side, and whenever a connection is made to this port, the connec‐
         tion is forwarded over the secure channel, and a connection is
         made to host port hostport from the local machine.

Ao usar o ssh para conectar-se a uma porta encaminhada, qual é o hash da impressão digital da chave RSA? Usando chaves de autenticação RSA idênticas em várias máquinasdescreverei por que estou perguntando.

Ou, por exemplo, do que realmente são as duas impressões digitais abaixo?

  1. A impressão digital da chave RSA é 94:21:d2:fc:70:2d:8d:bb:71:30:0f:4d:52:49:01:43.
  2. A impressão digital da chave RSA é b2:5b:19:25:91:50:3c:45:73:c7:7e:4f:da:c3:f6:f3.

Obtendo a primeira impressão digital

Máquina 1

sshtunnel@pi_one:~ $ ssh -R 2222:localhost:22 [email protected]

Máquina Comum

[sshtunnel@devserver ~]$ ssh -p 2222 sshtunnel@localhost
The authenticity of host '[localhost]:2222 ([::1]:2222)' can't be established.
RSA key fingerprint is 94:21:d2:fc:70:2d:8d:bb:71:30:0f:4d:52:49:01:43.
Are you sure you want to continue connecting (yes/no)? no
Host key verification failed.

Obtendo a segunda impressão digital

Máquina 2

sshtunnel@pi_two:~ $ ssh -R 2222:localhost:22 [email protected]

Máquina Comum

[sshtunnel@devserver ~]$ ssh -p 2222 sshtunnel@localhost
The authenticity of host '[localhost]:2222 ([::1]:2222)' can't be established.
RSA key fingerprint is b2:5b:19:25:91:50:3c:45:73:c7:7e:4f:da:c3:f6:f3.
Are you sure you want to continue connecting (yes/no)? no
Host key verification failed.
[sshtunnel@devserver ~]$

Responder1

As chaves públicas do host em /etc/ssh/ssh_host_*_key.pub:

$ ssh localhost
The authenticity of host 'localhost (::1)' can't be established.
ECDSA key fingerprint is 60:6e:7a:10:85:a4:14:f1:37:44:88:17:29:67:b1:e1.
Are you sure you want to continue connecting (yes/no)? ^C

$ ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key
256 60:6e:7a:10:85:a4:14:f1:37:44:88:17:29:67:b1:e1 /etc/ssh/ssh_host_ecdsa_key.pub (ECDSA)

(Observe que não importa se você solicitar ssh-keygenuma impressão digital da chave privada (sem a .pubextensão), ela lê automaticamente a chave pública correspondente.)

No seu caso, é a chave RSA que é mencionada, portanto /etc/ssh/ssh_host_rsa_key.pub, e com o encaminhamento de porta, é o host sshao qual eventualmente se conecta.

Com versões mais recentes do ssh-keygen, a saída padrão é o hash SHA256 codificado em base64 da chave. Adicionar a -E md5opção fornece o hash MD5 codificado em hexadecimal (mas observe que agora há um prefixo indicando o tipo de hash):

$ ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key.pub
256 SHA256:4+dfNAIjGq72HL9UeNEpne8J54yj/4wFpi+/4Bv7dhQ root@... (ECDSA)
$ ssh-keygen -Emd5 -l -f /etc/ssh/ssh_host_ecdsa_key.pub
256 MD5:3c:18:e7:9c:ee:e8:6a:38:7d:74:ef:2f:a5:51:ee:1a root@... (ECDSA)

informação relacionada