Linux Labs

Сеть / Ступень 10 из 14

SSH — доверие к серверу и вход по ключу

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 2 из 9 · теория · 4 мин

Две проверки при входе

При входе по SSH проверяют обе стороны: клиент — сервер, сервер — пользователя. Ошибка одной проверки не похожа на ошибку другой.

SSH даёт командную строку на другой машине. Сначала клиент убеждается, что говорит с тем самым сервером: у сервера есть ключ сервера, а клиент хранит его копию в known_hosts. Потом сервер решает, пускать ли пользователя.

Пользователь входит по паре ключей. Закрытый ключ лежит у клиента (~/.ssh/id_ed25519) и никуда не передаётся. Открытый лежит на сервере, в файле authorized_keys в домашнем каталоге учётной записи.

Не прошла проверка Что напечатает ssh
клиент не узнал ключ сервера Host key verification failed.
сервер не принял ключ пользователя Permission denied (publickey,…)

В начале урока не прошла вторая проверка: клиент сервер узнал, а сервер отказал deploy.

Проверь себя 1 вопрос

ssh напечатала Host key verification failed. Какая проверка не прошла?

  • Пароль спрашивают после проверки ключа сервера. Здесь ssh остановилась раньше, на known_hosts.

  • Права authorized_keys проверяет сервер, когда решает о пользователе, и отказ выглядит как Permission denied.

  • До проверки пользователя дело не дошло. Отказ сервера ssh печатает как Permission denied.

Host key verification failed пишет клиент: ключ, который предъявил сервер, не совпал с записью в known_hosts или записи нет. Сервер до проверки пользователя ещё не дошёл.

Главное в шаге

  • Клиент проверяет сервер по known_hosts, сервер проверяет пользователя по authorized_keys.
  • Host key verification failed — отказ клиента, Permission denied — отказ сервера.
Ubuntu 24.04
Загрузка…