Linux Labs

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

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

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

Шаг 3 из 9 · на машине · 4 мин

Почему сервер не доверяет файлу

Сервер принимает ключ, если доверяет файлу, где он лежит. Права и владелец этого файла решают вход так же, как сам ключ.

sshd читает authorized_keys при каждом входе. Настройка StrictModes yes (она включена по умолчанию) велит проверить файл и каталоги над ним: владелец — сама учётная запись или root, писать в них посторонние не могут. Иначе любой пользователь машины дописал бы туда свой ключ и вошёл как deploy.

Права authorized_keys Вход по ключу
-rw------- (600) проходит
-rw-r--r-- (644) проходит
-rw-rw-rw- (666) отказ: писать могут все

Почему отказали, сервер пишет в свой журнал — его печатает sudo journalctl -u lab-sshd --no-pager: bad ownership or modes, плохой владелец или права. Исправь файл из начала урока и войди снова:

bash
sudo chmod 600 /home/deploy/.ssh/authorized_keys
ssh training id -un

Перезапускать сервер не нужно: файл он прочтёт при следующем входе. Права 777 «чтобы точно прочиталось» дают обратный результат — посторонние получают запись, и сервер откажет.

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

  • При StrictModes yes сервер не берёт ключи из файла, который может менять кто-то кроме владельца.
  • Причину отказа сервер пишет в свой журнал, а ssh у клиента её не показывает.
Ubuntu 24.04
Загрузка…