Я пытаюсь подключиться к своему Linux-серверу, используя PuTTY (и, в частности, SCP) из Windows. Когда я впервые пытаюсь подключиться, например, когда я пытаюсь подключиться с любой новой машины, я получаю предупреждение о подключении к «неизвестному серверу» и добавлении его ключа в мой кэш.

В Windows он говорит:«Отпечаток ключа rsa2 сервера:», а затем выдает что-то похожее на это:

0a:34:a3:43:af (etc)

Чтобы проверить это, я ssh «d в мой сервер изменен / и /etc/ssh/ и побежал:

for file in *sa_key.pub; do ssh-keygen -lf $file; done

Чтобы распечатать все отпечатки моих файлов.

Вывод выглядел совсем иначе, больше похоже на это:

2048 SHA256:ZAGZABCSD4+abcfe5ffff344444fff32323 ssh_host_rsa_key.pub

Другими словами, список чисел не разделен двоеточиями. Может ли кто-нибудь сказать мне разницу и как я могу найти правильный список значений для отпечатка пальца?

1 ответ1

2

Некоторые части openssh используют хэши MD5, а некоторые используют хэши SHA256. В вашем случае кажется, что ваш клиент предоставляет хэш md5, а ваш сервер ssh-keygen использует SHA256.

Вы можете вычислить хеш самостоятельно. Если вы получите ключ хоста из файла .pub, он выглядит следующим образом, многоточие, чтобы заменить много символов:

   AAAAB3[...]==

Тогда вы можете сделать хэши самостоятельно:

md5:

echo "AAAAB3[...]==" | base64 -d | md5sum
679e19234b295ee432a3920c30fda6ac

ша:

echo "AAAAB3[...]==" | base64 -d | sha1sum
41a53770303a0776a1378239e2ee0fd825705c74

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .