Ошибка входа в систему с отказом в разрешении SSH (объяснено и устранено)
Ключи SSH (безопасная оболочка) используются в протоколе SSH для аутентификации сеанса и установления соединения между локальным компьютером и сервером SSH. В обычном потоке лучший способ установить этот сервер — использовать открытый ключ, как только соединение с сервером установлено, SSH устраняет требование пароля при каждом входе в систему и автоматически устанавливает соединение с этим сервером.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
Однако при использовании открытого ключа иногда запрос на подключение клиента SSH отклоняется сервером, что может вызвать ошибку отказа в разрешении SSH.
В этой статье будут продемонстрированы различные решения для исправления ошибки «Отказано в доступе к SSH», но перед этим давайте посмотрим на причину этой ошибки.
Есть несколько причин, которые могут вызвать эту ошибку. Одной из наиболее распространенных причин является то, что на SSH-сервере отключена аутентификация по паролю.
Другой распространенной причиной этой ошибки является отсутствие доступа к папке «ssh», что по сути означает, что доступ к Authorized_keys отключен.
Решение 1. Разрешите аутентификацию по паролю на SSH-сервере
Как упоминалось выше, если сервер не включил SSH-соединение с аутентификацией по паролю, то соединение, скорее всего, завершится сбоем.
- Чтобы избежать этого, зайдите на SSH-сервер и с этого ПК\сервера откройте файл конфигурации с помощью следующей команды: sudo nano /etc/ssh/sshd_config.
Эта команда конфигурации откроется в терминале:
- В этом файле конфигурации найдите строку «Аутентификация по паролю» и «раскомментируйте» строку, удалив завершающий символ «#»:
- Как только это будет сделано, сохраните и выйдите из файла конфигурации, нажав «CTRL + O», а затем «CTRL + X». После этого следующим шагом будет перезапуск службы SSH, для чего используйте следующую команду: sudo systemctl restart sshd
- Как только это будет сделано, снова подключитесь к серверу SSH с клиента, чтобы получить следующие результаты:
Вы успешно устранили ошибку и подключились к SSH-серверу.
Решение 2. Включите аутентификацию с открытым ключом
Иногда пользователи могут получить изменение \ вариант ошибки, при котором состояние ошибки становится «SSH Permission Denied (открытый ключ)». Эта ошибка вызвана тем, что на сервере SSH не включена публичная аутентификация.
- В таких случаях перейдите на ПК с SSH-сервером и откройте файл конфигурации с помощью следующей команды: sudo nano /etc/ssh/sshd_config.
В файле конфигурации просто отключите вход root и включите «PublicKeyAuthentication»:
- После этого убедитесь, что параметры UsePAM также включены в файле конфигурации:
- Снова сохраните и выйдите из файла, используя «CTRL + O», а затем «CTRL + X», а затем перезапустите службу SSH с помощью команды: sudo nano /etc/ssh/sshd_config
- После этого повторите попытку подключения, чтобы получить следующие результаты:
Вы устранили ошибку SSH Permission Denied (Public Key).
Решение 3. Разрешить доступ к каталогу SSH
Часто открытый ключ хранится в подкаталоге авторизованных ключей внутри каталога «ssh», и если разрешения для этого подкаталога или всего каталога неверны, то соединение SSH в конечном итоге вернет ошибку.
- В таких случаях просто измените разрешение каталога «authorized_keys», используя следующую команду: sudo chmod 600 ~/.ssh/authorized_keys.
Эта команда включит разрешение на чтение и запись для авторизованных ключей.
- После этого дайте разрешение на выполнение родительскому каталогу с помощью команды: sudo chmod 700 ~/.ssh
После выполнения этих команд попробуйте установить SSH-соединение с SSH-сервером, чтобы получить следующие результаты:
Аванпост показывает, что ошибка устранена
Бонусное исправление для отказа в разрешении SSH
Ошибка «Отказано в доступе» может возникнуть, если пароль для SSH-сервера неверен. В основном это происходит из-за опечатки, а иногда сервер изменил пароль, а клиент об этом не знает. В таких случаях, когда пользователь вводит пароль для SSH-соединения, на терминале отображается следующая ошибка:
В таких случаях обратитесь в службу поддержки SSH Server и спросите, изменили ли они пароль, или просто перепроверьте, допустили ли вы опечатку или нет. После этого вы сможете вывести ошибку и подключиться к SSH-серверу:
Отказ в разрешении SSH не является новым и в основном вызван тем, что не включена аутентификация по паролю, не включена аутентификация с открытым ключом, а также неправильные разрешения для каталога «ssh» или «authroized_keys». В этом руководстве подробно описаны решения, которые можно использовать для исправления ошибки и продолжения подключения. Кроме того, эта ошибка также может быть вызвана изменением пароля сервером SSH или опечаткой. В этом случае лучше всего обратиться в службу поддержки SSH-сервера или ввести пароль повторно, убедившись в отсутствии опечаток.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)