1

Итак, учитывая следующие предположения:

1) я хочу в первый раз подключиться к удаленному хосту

2) ssh-keyscan показывает это:

pwaugh$ ssh-keyscan -t ecdsa pi                                      
# pi:22 SSH-2.0-OpenSSH_7.4p1 Raspbian-10+deb9u4 pi ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEQVybySS0o5UWGHC0Qq1/pkDWZ0gK4nxUDdQEGdxWo3Dl5XMfMr+m6l5GDo7eID23j3N5Gwh7pGyea3WQbRWAk= pwaugh$

3) ssh pi @ pi дает мне это:

pwaugh$ ssh pi@pi
The authenticity of host 'pi (192.168.1.12)' can't be established.
ECDSA key fingerprint is SHA256:eMaAlpPMA2/24ajrpHuiL7mCFCJycZNfuNfyB3cyx+U.
Are you sure you want to continue connecting (yes/no)? no
Host key verification failed.
pwaugh$

ВОПРОС № 1: Как я могу подтвердить, что хэш SHA256 ключа, возвращенного с сервера с помощью ssh, является эквивалентом полного ключа, возвращаемого ssh-keyscan?
(кроме терминала $ sudo ssh-keygen -l -f /etc /ssh /ssh_host_ecdsa_key)

Я предполагаю, что если бы это было возможно, это оставило бы меня открытым для атаки «человек посередине», если я в итоге не проверил это на терминале, верно?

Я также предполагаю, что лучшим методом было бы просто собрать ключи, добавить их в known_hosts, а затем позволить ssh проверить их для меня в любом случае. Но просто любопытно.

ВОПРОС № 2: При первом подключении и получении подтверждающего сообщения / ключа хоста по умолчанию используется ключ ecdsa. Это менее безопасно, чем использование ключа ed25519? Могу ли я заставить его проверить этот ключ? (Вероятно, придется удалить другие ключи хоста, я предполагаю)

Спасибо за любые мысли. Я просмотрел файлы man и даже книгу по ssh, и просто неясен по этому поводу.

Патрик

1 ответ1

0

Где 'pi' - интересующий хост, я могу запросить ключи и затем передать их в ssh-kegen следующим образом:

$ ssh-keyscan pi | ssh-keygen -lf -
# pi:22 SSH-2.0-OpenSSH_7.4p1 Raspbian-10+deb9u4
# pi:22 SSH-2.0-OpenSSH_7.4p1 Raspbian-10+deb9u4
# pi:22 SSH-2.0-OpenSSH_7.4p1 Raspbian-10+deb9u4
256 SHA256:eMaAlpPMA2/24ajrpHuiL7mCFCJycZNfuNfyB3cyx+U pi (ECDSA)
2048 SHA256:P/Da4p1YbLDgnbGIkVE9SykONlVynPkwwap54RMW6+A pi (RSA)
256 SHA256:cpQtotFCbt4TXxa1474whR1Wkk3gOczhumE23s9pbxc pi (ED25519)
$ _

Это так, что мне не нужно физически делать это на хосте:

$ ssh-keygen -lf ./.ssh/known_hosts

Патрик

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