Насколько я понимаю, отпечаток RSA — это, по сути, хэш ключа.
Мое понимание перенаправленного порта соответствует следующему разделу 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.
При использовании ssh для подключения к перенаправленному порту, какой хэш представляет собой отпечаток ключа RSA? Использование идентичных ключей аутентификации RSA на нескольких машинахобъясню, почему я спрашиваю.
Или, например, что на самом деле представляют собой два отпечатка пальцев, представленные ниже?
- Отпечаток ключа RSA — 94:21:d2:fc:70:2d:8d:bb:71:30:0f:4d:52:49:01:43.
- Отпечаток ключа RSA: b2:5b:19:25:91:50:3c:45:73:c7:7e:4f:da:c3:f6:f3.
Получение первого отпечатка пальца
Машина 1
sshtunnel@pi_one:~ $ ssh -R 2222:localhost:22 [email protected]
Обычная машина
[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.
Получение второго отпечатка пальца
Машина 2
sshtunnel@pi_two:~ $ ssh -R 2222:localhost:22 [email protected]
Обычная машина
[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 ~]$
решение1
Открытые ключи хоста в /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)
(Обратите внимание, что не имеет значения, запрашиваете ли вы ssh-keygen
отпечаток закрытого ключа (без .pub
расширения), вместо этого автоматически считывается соответствующий открытый ключ.)
В вашем случае упоминается ключ RSA, поэтому /etc/ssh/ssh_host_rsa_key.pub
, а при переадресации портов, это хост, ssh
к которому в конечном итоге подключается.
В более новых версиях ssh-keygen
вывод по умолчанию — это хэш SHA256 ключа в кодировке base64. Добавление опции -E md5
дает хэш MD5 в шестнадцатеричной кодировке (но обратите внимание, что теперь есть префикс, указывающий тип хеша):
$ 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)