Ошибка входа в доступ по SSH (объяснение и решение)
Ключи SSH (безопасная оболочка) используются в протоколе SSH для аутентификации сеанса и установления соединения между локальным компьютером и сервером SSH. В обычном режиме лучший способ установить этот сервер — использовать открытый ключ. Как только соединение с сервером установлено, SSH устраняет требование пароля при каждом входе в систему и автоматически устанавливает соединение с этим сервером.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
Однако при использовании открытого ключа иногда запрос на подключение SSH-клиента отклоняется сервером, что может привести к ошибке отказа в разрешении SSH.
В этой статье будут продемонстрированы различные решения для исправления ошибки «SSH Permission Denied», но перед этим давайте посмотрим на причину этой ошибки.
Есть несколько причин, которые могут вызвать эту ошибку. Одной из наиболее распространенных причин является то, что на 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 (открытый ключ)».
Решение 3. Разрешите доступ к каталогу SSH.
Часто открытый ключ хранится в подкаталоге авторизованных ключей внутри каталога «ssh», и если разрешения этого подкаталога или всего каталога неверны, то соединение SSH в конечном итоге вернет ошибку.
- В таких случаях просто измените разрешение каталога «authorized_keys» с помощью следующей команды: sudo chmod 600 ~/.ssh/authorized_keys
Эта команда включит разрешение на чтение и запись для авторизованных ключей.
- После этого дайте разрешение на выполнение родительскому каталогу с помощью команды: sudo chmod 700 ~/.ssh.
После выполнения этих команд попробуйте подключиться по SSH к SSH-серверу, чтобы получить следующие результаты:
На форпосте видно, что ошибка устранена
Бонусное исправление отказа в разрешении SSH
Ошибка «Permission Denied» может возникнуть, если пароль для SSH-сервера неверен. В основном причиной этому является опечатка, а иногда сервер сменил пароль, а клиент об этом не знает. В таких случаях, когда пользователь предоставляет пароль для SSH-соединения, на терминале отображается следующая ошибка:
В таких случаях обратитесь в службу поддержки SSH Server и спросите, не меняли ли они пропуск, или просто перепроверьте, допустили ли вы опечатку или нет. После этого вы сможете выявить ошибку и подключиться к SSH-серверу:
Ошибка SSH Permission Denied не является новой и в основном вызвана отсутствием аутентификации по паролю, отключением аутентификации с открытым ключом, а также наличием неправильных разрешений для каталога «ssh» или «authroized_keys». В этом руководстве подробно описаны решения, которые можно использовать, чтобы исправить ошибку и продолжить подключение. Кроме того, эта ошибка также может быть вызвана изменением пароля SSH-сервером или опечаткой. В этом случае лучше всего обратиться в службу поддержки SSH-сервера или повторно ввести пароль, убедившись в отсутствии опечаток.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)