TGViewer
Bash Days | Linux | DevOps Bash Days | Linux | DevOps @bashdays · 23.6K subscribers
Post #803 11.5K
На прохождение Cyber Shadow я потратил 20 часов и сдох 727 раз. Что сказать, моя жопа давно так не горела, со времен Ninja Gaiden на Денди. Но своеобразное удовольствие я всё же получил.

Ладно, сегодня продолжаем серию постов #linuxfactory
ㅤ
SSH ключи мы с тобой сделали, на сервере их прописали, надеюсь хорошо разжевал и ты проникся.

Но это еще не всё, сервер не готов запускать тебя по ключам. Сейчас это исправим.

Пиздуем на сервер под рутом, на тот самый куда ты закинул публичную часть ключа и открываем на редактирование файл /etc/ssh/sshd_config.

Активируем эти строчки:

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys


Потом делаем так:

ChallengeResponseAuthentication no
PasswordAuthentication no
PermitEmptyPasswords no
PermitRootLogin no
UsePAM no


Отключаем пароли, запрещаем вход под рутом, ну и так по мелочи. Мелочи расписал в комментах.

Тут есть нюанс, при PermitRootLogin no ты иногда все равно сможешь зайти под рутом. Тут все дело в невинном файле который порой пихают из коробки.

/etc/ssh/sshd_config.d/50-cloud-init.conf


Этот файл содержит реврайт, в нем будет PermitRootLogin yes.

Так что, если ты отключил это в основном конфиге, проверь, а нет ли где-то еще реврайтов. На эти грабли очень часто наступают и тратят пол дня на дебаг.


После того как ты сделал все изменения, нужно выполнить:

sshd -t
systemctl reload sshd


Если первая команда отработала без ошибок, то запускаем reload.

➡️ Важно! Терминал в котором ты всё это настраиваешь — закрывать не стоит, сессия будет жить даже если накосячил.

Сначала открой второй терминал и проверь что ты можешь снова войти на сервер по ключам или как минимум по паролю если сервер его запросил.

Бывают неприятные моменты, когда ты отключил вход по паролю и ssh ключи не завелись. Пизда рулю. Позже покажу как и это решать малой кровью.


В некоторых современных дистрибутивах, перезагрузка sshd поставлена на поток, ты меняешь конфиг и если с ним все ок, конфиг автоматически перечитывается службой. Носи это у себя в голове.

Ну и еще про конфиги ssh, на сервере есть пару похожих конфигов, их часто путают и делают хуйню.

/etc/ssh/ssh_config
/etc/ssh/sshd_config


Первый это настройки поведения клиента. То есть если ты с этого сервера решишь куда-то подключиться по ssh, то применятся настройки из этого файла.

А второй соответственно это серверные настройки. Твоя локальная машина это клиент, подключается к серверу, сервер берет настройки из /etc/ssh/sshd_config.

Вот и всё. Если читал внимательно, у тебя в голове должен был сложиться правильный пазл. Ну и доступ по ключам тоже заработает.

Тыкай, проверяй, задавай вопросы в комментах и пиши свои дополнения. Я человек пожилой, мог чего-то нахуевертить и упустить.

Увидимся, это еще далеко не всё.

tags: #git #devops #linuxfactory
—
🔔 @bashdays➡️ @gitgate
More from @bashdays
  1. Sep 25, 2026ИИ-агент может быть у каждого: создать персонального помощника можно без настройки серверо…
  2. Sep 25, 2026🚀 Zabbix 8.0 на подходе. Запланируйте обучение команды уже сейчас В ближайшее время ожида…
  3. Sep 24, 2026✨ Как настроить PostgreSQL для продакшен-нагрузок При переходе к продакшен-нагрузкам важно…
  4. Sep 24, 2026Post #1565
  5. Sep 23, 2026Здрасти приехали, решил я в кой-то веке воспользоваться услугами Codex, создал аккаунт, по…
  6. Sep 22, 2026Всем привет, с вами TagdTagd. Сегодня опять поднимем тему архивов, но немного с другой сто…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →