Назад | Перейти на главную страницу

Проверка подлинности хоста SSH на капле Digital Ocean (FreeBSD)

При первом подключении через SSH с участием ключи новоиспеченному Цифровой океан капля ВМ работает FreeBSD (на этот учебник), мы получаем сообщение «Подлинность хоста бла-бла не может быть установлена». Я понимаю, это означает, что на моем компьютере нет отпечаток пальца с чем сравнивать. Таким образом, мой SSH-клиент не может узнать, является ли SSH-сервер на другой стороне законным или нет.

На данный момент у нас есть два варианта:

Amazon предоставляет такой механизм для своих инстансов EC2, чтобы узнать отпечаток нового сервера, как обсуждается здесь.

➥ Есть ли такой механизм для Цифровой океан «Капельный» экземпляр виртуальной машины, чтобы узнать отпечаток сервера?

Я знаю, что это старый вопрос, но сегодня я столкнулся с той же проблемой, и с OP с моделью защиты TOFU, так что вот что я использовал, чтобы предотвратить риск MITM.

Обычно, как следует из вопроса, на самом деле нет способа для проверки ключей без каких-либо разговоров с администраторами сервера. Тем не мение...

...если вы делать иметь доступ к серверу, вы можете отобразить отпечаток ключа SSH, запустив ssh-keygen -lf на открытом или закрытом ключе ...

... и, к счастью, в настоящее время DigitalOcean предоставляет веб-консоль для входа непосредственно в каплю, что дает вам доступ к рассматриваемому серверу. Чтобы попасть в консоль:

  • Перейдите в панель управления своей учетной записью.
  • На боковой панели под заголовком «Управление» выберите «Капли».
  • Выберите каплю, для которой вы хотите проверить отпечаток пальца.
  • Вероятно, по умолчанию он вызовет подраздел «Графики», но вы захотите выбрать подраздел «Доступ».
  • Оттуда вы должны увидеть варианты «Запустить консоль» или «Сбросить пароль root».

Теперь, поскольку консоль DigitalOcean ожидает, что вы войдете в систему как root, вам понадобится пароль root. Так что, если, как и я, вы решили использовать более безопасную аутентификацию SSH при первоначальной настройке дроплета, вы можете избавить себя от некоторых разочарований и начать с выбора «Сбросить пароль root». Как только DigitalOcean отправит вам новый пароль root, действуйте следующим образом:

  • Выберите «Запустить консоль». Для входа используйте имя пользователя root, а пароль - это то, что вы установили (или код сброса, который вам отправил DigitalOcean). Совет: консоль поддерживает копирование и вставку, что полезно для кодов сброса пароля. Кроме того, для сброса вам сразу же будет предложено подтвердить код сброса и выбрать новый пароль, так что будьте к этому готовы.
  • Как только вы войдете, cd туда, где ОС вашей капли будет хранить SSH-ключи системного уровня (для меня на Ubuntu 18.04 это было под /etc/ssh; Я использовал метод, найденный в этот ответ).
  • Оттуда запустите следующий сценарий bash (или аналогичный для оболочки вашей ОС), чтобы увидеть все отпечатки всех ключей: for file in *; do ssh-keygen -lf $file; done; (Я сделал это как однострочный, с пунктуацией, как показано, и это сработало для меня; не знаю, является ли это идиоматическим bash-скриптом. Если он встречает файлы закрытого ключа без ключа или защищенные паролем, он отметит факт и передать их безвредно. Он был снят с небольшими изменениями из этот полезный сайт)
  • Сравните показанный результат с исходной проверкой подлинности SSH. Если он не совпадает, вы знаете, что существует риск «Человек посередине», и вам не следует принимать ключ.

Если кто-нибудь знает более простой способ, например Получая информацию об отпечатках пальцев через переписку DigitalOcean или какую-либо скрытую часть панели инструментов, не стесняйтесь публиковать другой ответ, и я с удовольствием проголосую за него.