35. Ошибки SSH и как их исправлять

Подключение к серверу по SSH иногда не работает. Самые частые причины и решения:


1️⃣ Permission denied (publickey)

Суть: сервер не видит ваш ключ.
Решение:

  • Проверьте, что публичный ключ добавлен в ~/.ssh/authorized_keys пользователя на сервере.
  • Ключ должен быть одной строкой, без лишних пробелов или переносов.
  • Права на .ssh и authorized_keys:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
  • Владелец файлов — ваш пользователь:
chown -R myuser:myuser ~/.ssh

2️⃣ Пароль запрещён (PasswordAuthentication no)

Суть: сервер настроен только на вход по ключу.
Решение: создайте SSH-ключ на вашем устройстве и добавьте его на сервер (см. предыдущую статью).


3️⃣ Вход с другого компьютера

Суть: у нового устройства нет ключа.
Решение:

  • Генерируем новый ключ на этом устройстве (ssh-keygen -t ed25519)
  • Добавляем в authorized_keys того же пользователя на сервере.
  • Не обязательно создавать нового пользователя, если это ваш компьютер.

4️⃣ Ошибки прав пользователя

  • Пользователь не имеет прав на .ssh или на домашнюю папку.
  • Проверяем владельца:
ls -ld ~
ls -ld ~/.ssh
  • Исправляем при необходимости:
chown myuser:myuser ~
chown -R myuser:myuser ~/.ssh

5️⃣ Советы для безопасности

  • Никогда не разрешайте вход root с паролем (PermitRootLogin prohibit-password).
  • Используйте Fail2Ban для блокировки атак на SSH.
  • Разные люди — разные пользователи, каждый с ключом.

✅ Итог:
Почти все проблемы SSH связаны с ключами, правами и конфигурацией сервера. Проверка этих трёх пунктов обычно решает всё.

Оставьте комментарий