Подключение к серверу по 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 связаны с ключами, правами и конфигурацией сервера. Проверка этих трёх пунктов обычно решает всё.