Вопрос или проблема
Я пытался получить доступ к своему VPS через SSH, чтобы настроить клиент Wireguard для использования соединения моего VPS на роутере. Я изменил PermitRootLogin на yes, который был PermitRootLogin prohibit-password, и когда я попытался получить доступ к SSH, я получаю это сообщение об ошибке (Доступ запрещен, publickey, password).
Я перезапустил SSH несколько раз, и результат тот же.
Есть какие-нибудь советы?
Вы действительно хотите подключиться к своему серверу по SSH как root? Это небезопасно, но если вы хотите – убедитесь, что вы сделали следующее:
- Измените файл
/etc/ssh/sshd_config
на вашем VPS (строкаPermitRootLogin yes
) - После этого выполните
systemctl reload ssh.service
на вашем VPS - На вашем клиенте выполните
ssh root@YOUR_VPS_SERVER
P.S. У вашего пользователя root должен быть установлен пароль на вашем VPS.
Если вы сделали все это, и проблема все еще существует, попробуйте rm .ssh/known_hosts
на вашем клиенте и попробуйте подключиться к вашему серверу снова.
Ответ или решение
Вопрос: "PermitRootLogin yes не работает".
Попытки доступа к вашему VPS через SSH с использованием учетной записи root могут вызывать различные проблемы, даже если вы изменили конфигурацию на PermitRootLogin yes
. Давайте разберемся с возможными причинами возникновения ошибки "Permission denied, publickey, password" и способами их устранения.
1. Правильная настройка конфигурации SSH
Первым делом удостоверьтесь, что вы правильно изменили файл конфигурации SSH. Вам необходимо выполнить следующие шаги:
-
Откройте файл конфигурации SSH:
sudo nano /etc/ssh/sshd_config
-
Найдите строку, которая описывает
PermitRootLogin
. Измените её на:PermitRootLogin yes
-
Сохраните изменения и закройте редактор.
2. Перезагрузка службы SSH
После внесения изменений в sshd_config
необходимо перезапустить службу SSH, чтобы новые настройки вступили в силу. Используйте следующую команду:
sudo systemctl reload sshd
3. Убедитесь, что у пользователя root установлен пароль
Необходимо убедиться, что учетная запись root имеет установленный пароль. Для этого выполните следующую команду:
sudo passwd root
Введите новый пароль, который будет использоваться для доступа к SSH.
4. Проверка логина с клиента
Для подключения к VPS с использованием SSH выполните команду:
ssh root@YOUR_VPS_SERVER
Замените YOUR_VPS_SERVER
на IP-адрес или доменное имя вашего сервера.
5. Удаление старых записей из known_hosts
Если вы уже пытались подключиться к серверу ранее и настройки SSH изменились, старые записи могут мешать. Попробуйте выполнить команду:
rm ~/.ssh/known_hosts
Затем повторите попытку подключения.
6. Диагностика проблем с SSH
Если проблема все еще сохраняется, вы можете запустить SSH в режиме отладки, добавив флаг -v
к команде:
ssh -v root@YOUR_VPS_SERVER
Режим отладки предоставит больше информации о том, что происходит во время попытки подключения.
Заключение
Помните, что использование аккаунта root для подключения через SSH может представлять угрозу безопасности. Рекомендуется использовать обычные учетные записи пользователей с правами sudo для выполнения административных задач. Всегда думайте о безопасности вашего сервера, особенно если он доступен из интернета. Если вам не удается справиться с проблемой самостоятельно, не стесняйтесь обращаться за помощью к опытным системным администраторам или поддержке вашей хостинг-компании.