Вопрос или проблема
Я пытаюсь подключиться по ssh к серверу Ubuntu 22.04 на Raspberry Pi 3 в локальной среде. Сначала я просто использовал команду ssh [email protected]
и получил ошибку доступ запрещен (publickey)
! Я изменил файл sshd_config
и раскомментировал строки PasswordAuthentication yes
и PublickeyAuthentication no
. После еще одной попытки я получил ошибку доступ запрещен()
(мне сказали, что она возникает, когда вы вводите неправильный пароль, но я ввожу правильный пароль). Интересно, что я могу подключиться по ssh с сервера Ubuntu на мой ПК, но не наоборот. Я наконец смог подключиться по ssh, используя ключ, но для меня и моего коллеги было бы гораздо проще подключаться к Raspberry Pi с помощью аутентификации по паролю, особенно поскольку он находится в локальной сети.
Есть ли у кого-нибудь идея, как подключиться по ssh с использованием пароля?
Ответ или решение
SSH Ошибка "Permission Denied"
Проблема
При подключении к серверу Ubuntu 22.04 на Raspberry Pi 3 через SSH вы испытываете затруднения и получаете сообщение об ошибке Permission denied (publickey)
, что указывает на проблемы с аутентификацией. После внесения изменений в конфигурационный файл sshd_config, вы по-прежнему сталкиваетесь с ошибкой Permission denied()
при использовании пароля, несмотря на то, что вводите правильный пароль.
Контекст
SSH (Secure Shell) является одним из самых надежных инструментов для удаленного управления серверами, однако настройка аутентификации может иногда вызывать затруднения, особенно когда дело касается конфигурации публичных и приватных ключей по сравнению с аутентификацией по паролю.
Решение
Чтобы успешно подключиться к вашему Raspberry Pi с помощью аутентификации по паролю, выполните следующие шаги:
-
Проверка конфигурации SSHD:
Убедитесь, что вы правильно отредактировали файл конфигурации SSHD. Откройте конфигурационный файл с помощью текстового редактора, например
nano
:sudo nano /etc/ssh/sshd_config
Убедитесь, что следующие строки существуют и не закомментированы (без символа
#
):PasswordAuthentication yes PubkeyAcceptedKeyTypes=+ssh-rsa
Важно: Если вы также видите строку
ChallengeResponseAuthentication
, установите её значение вno
, чтобы избежать конфликта методов аутентификации. -
Перезапуск SSHD:
После внесения изменений необходимо перезапустить службу SSHD, чтобы они вступили в силу:
sudo systemctl restart ssh
-
Проверка прав доступа к учетной записи:
Убедитесь, что учетная запись, которую вы используете для подключения к серверу, активна и имеет неограниченный доступ:
sudo cat /etc/passwd | grep имя_вашей_учетной_записи
Также проверьте, что учетная запись не заблокирована:
sudo passwd -S имя_вашей_учетной_записи
В случае, если статус учетной записи показывает, что она заблокирована, разблокируйте её:
sudo passwd -u имя_вашей_учетной_записи
-
Проверка прав на домашний каталог и .ssh:
Убедитесь, что права доступа к домашнему каталогу вашей учетной записи и к файлам в
.ssh
настроены правильно. Например, выполните следующие команды:chmod 700 /home/имя_вашей_учетной_записи chmod 700 /home/имя_вашей_учетной_записи/.ssh chmod 600 /home/имя_вашей_учетной_записи/.ssh/authorized_keys
-
Логи SSH:
Проверьте логи SSH для получения дополнительной информации о причине отказа. Логи обычно располагаются в
/var/log/auth.log
. Используйте следующую команду для просмотра логов:sudo tail -f /var/log/auth.log
Это может дать вам больше информации о том, почему аутентификация по паролю не удалась.
Заключение
Если после выполнения всех вышеперечисленных шагов вы все еще сталкиваетесь с ошибкой Permission denied()
, возможно, стоит рассмотреть вариант временного отключения аутентификации по публичному ключу, чтобы сосредоточиться на устранении проблемы с паролем. Также обновите программное обеспечение на Raspberry Pi через sudo apt update && sudo apt upgrade
, чтобы исключить проблемы с устаревшими пакетами.
Следуя этим рекомендациям, вы сможете восстановить возможность подключения к вашему серверу через SSH с помощью пароля, что значительно упростит задачу работы в локальной сети.