Ошибка «Permission denied (publickey,password)» при SSH-подключении означает, что сервер отклонил аутентификацию. Проверьте пароль, ключи, права на файлы и настройки SSH-сервера.
Применимо к:
✔ VPS
✔ Выделенные серверы
✔ Linux
Для диагностики подключитесь с флагом -v:
ssh -v root@IP_СЕРВЕРА
Вывод покажет, на каком этапе аутентификации произошёл отказ.
Убедитесь, что вводите правильный пароль. Обратите внимание:
Если пароль утерян, сбросьте его через VNC/IPMI-консоль:
passwd root
Через VNC/IPMI-консоль проверьте настройки SSH:
grep -E "PasswordAuthentication|PermitRootLogin" /etc/ssh/sshd_config
Если PasswordAuthentication no, вход по паролю отключён. Для временного включения:
sed -i "s/PasswordAuthentication no/PasswordAuthentication yes/" /etc/ssh/sshd_config
systemctl restart sshd
Если используете ключ, убедитесь, что публичная часть добавлена на сервер:
cat ~/.ssh/authorized_keys
Ваш публичный ключ должен быть в этом файле.
Проверьте, какой ключ отправляет клиент:
ssh -v root@IP_СЕРВЕРА 2>&1 | grep "Offering"
SSH требует строгих прав на директорию и файлы:
chmod 700 /root/.ssh
chmod 600 /root/.ssh/authorized_keys
chown -R root:root /root/.ssh
Проверьте, нет ли ограничений по пользователям:
grep -E "AllowUsers|AllowGroups|DenyUsers" /etc/ssh/sshd_config
Если AllowUsers указан и root в нём нет, добавьте:
AllowUsers root вашпользователь
systemctl restart sshd
Проверьте:
grep PermitRootLogin /etc/ssh/sshd_config
Если значение no, root не может подключиться. Измените на yes или prohibit-password (если используете ключи):
sed -i "s/PermitRootLogin no/PermitRootLogin yes/" /etc/ssh/sshd_config
systemctl restart sshd
ssh root@IP_СЕРВЕРА
Подключение должно пройти без ошибки Permission denied.
Если после всех проверок подключение не работает, откройте тикет в техническую поддержку. Укажите:
- вывод ssh -v root@IP
- содержимое /etc/ssh/sshd_config (если есть доступ через VNC/IPMI)