Найти в Дзене
Manulite

Почему SSH по паролю — риск, и зачем переходить на SSH-ключи

Когда человек впервые поднимает сервер и видит, что SSH работает — почти всегда появляется одна мысль: «Да зачем мне эти ключи? Я поставлю сложный пароль и всё». И логика реально кажется железной: пароль длинный, с цифрами, символами и буквами в разном регистре — хакеры заплачут, сервер выстоит. Да, длинный пароль — это лучше, чем 123456. Но проблема в том, что публичный сервер не взламывают вручную. Вы открыли порт 22 — и считайте, что повесили табличку: «Вход есть. Пробуйте». И дальше начинается не кино про злого гения, который выбирает именно вас, а реальность намного скучнее и неприятнее: боты сканируют интернет, находят SSH и пробуют зайти. Не потому что вы кому-то интересны, а потому что вы просто доступны. Пароль выглядит надёжно ровно до того момента, пока вы не поймёте одну вещь: пароль — это то, что можно пытаться угадать, даже если он сложный. Потому что в реальности всё упирается не в вашу фантазию, а в механику атак: И получается простая картина: вы поставили пароль, а кто
Оглавление

Когда человек впервые поднимает сервер и видит, что SSH работает — почти всегда появляется одна мысль:

«Да зачем мне эти ключи? Я поставлю сложный пароль и всё».

И логика реально кажется железной: пароль длинный, с цифрами, символами и буквами в разном регистре — хакеры заплачут, сервер выстоит.

Да, длинный пароль — это лучше, чем 123456. Но проблема в том, что публичный сервер не взламывают вручную.

Сервер в интернете — это как дверь без домофона

Вы открыли порт 22 — и считайте, что повесили табличку: «Вход есть. Пробуйте». И дальше начинается не кино про злого гения, который выбирает именно вас, а реальность намного скучнее и неприятнее: боты сканируют интернет, находят SSH и пробуют зайти.

Не потому что вы кому-то интересны, а потому что вы просто доступны.

Почему пароль в SSH — слабое место

Пароль выглядит надёжно ровно до того момента, пока вы не поймёте одну вещь: пароль — это то, что можно пытаться угадать, даже если он сложный.

Потому что в реальности всё упирается не в вашу фантазию, а в механику атак:

  • логины часто стандартные (root, admin, ubuntu)
  • пароль можно подбирать автоматически
  • люди повторяют пароли в разных местах
  • утечки паролей происходят постоянно
  • атака не устаёт и не нервничает

И получается простая картина: вы поставили пароль, а кто-то в это время просто стучится в дверь тысячу раз в минуту. Вы можете этого даже не заметить, пока однажды не увидите логи с тысячами попыток.

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

SSH-ключи: что меняется на самом деле

SSH-ключи — это не штука для усложнения жизни, а совершенно другой принцип доступа.

На сервере хранится только публичная часть ключа, а приватная остаётся у вас. И когда вы подключаетесь, сервер уже не спрашивает: «Какой пароль?» Он проверяет по-другому: «Докажи, что ты — это ты». Есть приватный ключ, проходите. Нет ключа, даже разговора не будет.

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

Как делают правильно

Правильная схема выглядит просто и логично:

⬇️ Генерируем SSH-ключи
⬇️ Добавляем публичный ключ на сервер
⬇️ Проверяем, что вход работает
⬇️ Только потом отключаем пароли
➡️ И дальше подключаемся без пароля вообще

И это базовая гигиена любого сервера.

Частые ошибки при настройке SSH-ключей (и почему потом всё равно просит пароль)

Если после отключения пароля система продолжает спрашивать пароль — это почти всегда одна из типовых причин.

Вот самые частые:

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

То есть это не сервер вредный. Это просто настройка, которую нужно довести до конца.

Итог

Итог простой: сложный пароль — это неплохо, но SSH-ключи — это правильно. Чтобы сделать всё без ошибок, на сайте manulite.com я подготовил пошаговые инструкции по настройке доступа через SSH-ключи:

Настраиваете Ubuntu-сервер с нуля — открывайте инструкцию по первичной настройке сервера по ссылке
Парольный вход уже отключили, но SSH всё равно просит пароль — смотрите отдельную инструкцию по ссылке