O que a impressão digital da chave RSA representa para uma porta encaminhada?

1

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

Meu entendimento de uma porta encaminhada é feito pela 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, o que é a impressão digital da chave RSA? Usar chaves de autenticação RSA idênticas em várias máquinas descreverá por que estou perguntando.

Ou pelo exemplo, quais 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 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 ~]$
    
por user1032531 29.05.2017 / 22:46

1 resposta

4

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ê pergunta ssh-keygen para uma impressão digital da chave privada (sem a extensão .pub ), ela automaticamente lê a chave pública correspondente.)

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

Com versões mais recentes de ssh-keygen , a saída padrão é o hash SHA256 codificado na base64 da chave. Adicionar a opção -E md5 fornece o hash MD5 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)
    
por 29.05.2017 / 23:16