Пароль root для дроплета DigitalOcean не принимается для клиента, но работает в консоли.

Вопрос или проблема

У меня есть дроплет Ubuntu 14.04 с PubkeyAuthentication, установленным на yes, и PermitRootLogin, установленным на no. С момента его создания мой публичный ключ работал нормально. По неизвестной причине сегодня он не принимает мой публичный ключ.

Поэтому я вошел через консоль дроплета, чтобы узнать, что происходит (что сработало нормально с моим паролем root).

Сначала я сгенерировал мой публичный ключ заново, надеясь, что смогу просто ssh-copy-id на сервер, но продолжал получать permission denied (publickey).

Когда это не сработало, я установил значения /etc/ssh/sshd_config: PubkeyAuthentication на no и PermitRootLogin на yes, чтобы снова получить приглашение на своем клиенте MacbookPro.

[Частичный] Вывод ssh jeitnier@[ip] -v:

debug1: Authentications that can continue: 
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/jeitnier/.ssh/jeitnier_aws
debug1: Authentications that can continue: 
debug1: Trying private key: /Users/jeitnier/.ssh/id_rsa
debug1: Trying private key: /Users/jeitnier/.ssh/id_dsa
debug1: Next authentication method: keyboard-interactive
debug1: Authentications that can continue: 
debug1: Next authentication method: password
jeitnier@[ip]'s password: 

Я ввожу точно такой же пароль, который использовал, чтобы войти в консоль, и получаю Permission denied, please try again.

Я проверил, что меня не заблокировали с помощью grep ^jeitnier /etc/shadow.

Я никогда с этим не сталкивался раньше. Что мне попробовать дальше?

Попробуйте это:

Сброс пароля

Перейдите в панель управления вашего дроплета и выберите “Доступ -> Сброс пароля root”. Как говорится на странице, “Это выключит ваш дроплет, и новый пароль root будет установлен и отправлен вам по электронной почте.” Затем выполните ssh на root@ip с новым паролем. И не забудьте сразу изменить его, так как пароли, отправленные по электронной почте, не могут считаться безопасными.

Возможное сообщение

Если вы получите сообщение о потере вашей работы, не беспокойтесь. Вы не потеряете никаких данных, если отключите ваш дроплет.

Разрешение jeitnier

Когда вы редактировали /etc/ssh/sshd_config, вы выполняли visudo и добавили jeitnier ALL=(ALL:ALL) ALL под # User privilege specification? Также убедитесь, что вы добавили AllowUsers jeitnier в конец /etc/ssh/sshd_config.

Если все еще нет доступа (используйте только)

Если доступа по-прежнему нет, добавьте пользователя root в строку AllowUsers.

Ответ или решение

Проблема с доступом к DigitalOcean Droplet: Неверный пароль root

Введение

Вы столкнулись с проблемой доступа к вашему Droplet на хостинге DigitalOcean, где пароль root не принимается при попытке через SSH, в то время как доступ через консоль работает. В этой статье мы детально разберем возможные причины этой проблемы и предложим шаги для ее решения, основываясь на описанных вами действиях.

Описание проблемы

Ваша конфигурация SSH на Droplet настроена следующим образом:

  • PubkeyAuthentication установлено в yes
  • PermitRootLogin установлено в no

Из-за этого вы не можете войти в систему по вашему публичному ключу. Поскольку вы смогли получить доступ к консолю с использованием пароля root, вы изменили конфигурацию SSH, установив PubkeyAuthentication в no и PermitRootLogin в yes. Однако при попытке подключения с клиентского компьютера пароль, который прекрасно работает на консоли, не принимается.

Ошибки при попытке SSH доступа

Вы получили следующий вывод при выполнении команды ssh jeitnier@[ip] -v:

debug1: Authentications that can continue: 
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/jeitnier/.ssh/jeitnier_aws
debug1: Authentications that can continue: 
debug1: Trying private key: /Users/jeitnier/.ssh/id_rsa
debug1: Trying private key: /Users/jeitnier/.ssh/id_dsa
debug1: Next authentication method: keyboard-interactive
debug1: Authentications that can continue: 
debug1: Next authentication method: password
jeitnier@[ip]'s password: 

Вы видите, что система не принимает ваш публичный ключ и переходит к keyboard-interactive, а затем к вводу пароля.

Возможные решения

1. Сброс пароля root

Если вы можете войти через консоль, рекомендуется сбросить пароль root:

  • Зайдите в панель управления вашего Droplet.
  • Выберите «Доступ» -> «Сбросить пароль root».
  • Это приведет к отключению вашего Droplet и отправит новый пароль на ваш email.

После получения нового пароля, попробуйте выполнить SSH-подключение с использованием root@[ip].

2. Проверка конфигурации SSH

После изменения параметров конфигурации SSH, убедитесь, что вы не сделали ошибок. Откройте файл /etc/ssh/sshd_config и проверьте следующие строки:

  • Убедитесь, что PubkeyAuthentication установлено в yes.
  • Убедитесь, что PermitRootLogin установлено в no.
  • Добавьте строку AllowUsers jeitnier в конец файла, чтобы явно разрешить доступ для пользователя jeitnier.

Не забудьте перезапустить SSH-сервис командой:

sudo service ssh restart

3. Проверка прав пользователя

Используйте команду visudo, чтобы проверить, что ваш пользователь jeitnier имеет необходимые права. Убедитесь, что строка вида jeitnier ALL=(ALL:ALL) ALL присутствует в секции # User privilege specification. Это позволит вашему пользователю выполнять команды с привилегиями.

4. Проверка аутентификационного ключа

Если ваша публичная часть ключа была изменена или не загружена на сервер, выполните следующую команду, чтобы удостовериться, что ваш ключ присутствует:

cat ~/.ssh/authorized_keys

Если ваш новый публичный ключ отсутствует, добавьте его вручную.

5. Проверка учётной записи

Используйте следующую команду для проверки статуса вашей учётной записи:

grep ^jeitnier /etc/shadow

Убедитесь, что учётная запись не заблокирована и имеет правильный статус.

Заключение

Вышеуказанные шаги помогут вам устранить проблемы с доступом к вашему DigitalOcean Droplet. Верное управление конфигурацией SSH и соблюдение обычных практик безопасности, таких как использование публичного ключа и настройка прав доступа, являются ключевыми для поддержания безопасности вашей системы. Если указанные шаги не решат вашу проблему, рекомендуется обратиться в службу поддержки DigitalOcean для дальнейшей помощи.

Оцените материал
Добавить комментарий

Капча загружается...