Как исправить ошибку SSH Permission Denied Public key в Linux?
SSH – аббревиатура от Secure Shell, является удаленным протоколом, который широко используется для удаленного подключения к серверам, сетевым устройствам и другим удаленным хостам, на которых запущена эта служба. Он использует пару открытый/закрытый ключ для шифрования трафика между пользователем и удаленным узлом.
При создании соединения вы можете столкнуться с ошибкой «ssh permission denied public key». В этом руководстве мы постараемся понять причину этой ошибки и способы ее устранения.
Причина ошибки SSH Permission denied (publickey).
В основном причиной этой ошибки является неправильная конфигурация файла /etc/ssh/sshd_config, который является стандартным файлом конфигурации SSH.
Другой причиной является недостаточное количество прав на файл authorized_keys на удаленной системе. Этот файл содержит открытые ключи клиентских систем, которым разрешено подключаться по SSH к серверу.
Без лишних слов, давайте рассмотрим возможные решения для устранения этой ошибки.
Включить проверку подлинности пароля.
Как уже отмечалось ранее, одной из причин возникновения этой ошибки является неправильная настройка файла /etc/ssh/sshd_config. Одной из неправильных настроек является отключение функции аутентификации по паролю. Это может произойти в том случае, если кто-то использует аутентификацию только на основе ключей SSH, а закрытый ключ по какой-то причине отсутствует.
Для устранения этой ошибки отредактируйте стандартный файл конфигурации SSH.
sudo vim /etc/ssh/sshd_config
Найдите атрибут PasswordAuthentication
и установите его в yes
, как показано ниже.
Сохраните изменения и выйдите из файла конфигурации. Затем перезапустите службу SSH, чтобы изменения вступили в силу.
sudo systemctl restart sshd
Теперь вы должны иметь возможность беспрепятственно подключаться к удаленному хосту.
Проверьте разрешение SSH Authorized_keys.
Иногда ошибка возникает из-за неправильных разрешений и прав собственности на ./.ssh/authorized_keys файл на удаленной системе.
Этот файл ./.ssh/authorized_keys расположен на удаленном сервере. Он содержит открытый SSH-ключ клиентской системы, подключающейся к нему с помощью SSH-ключей. Помните, что закрытый ключ должен оставаться на клиентской системе и никогда не передаваться.
Файл authorized_keys должен принадлежать пользователю на удаленной системе. Кроме того, пользователь должен иметь права на чтение и запись.
Если это не так, установите разрешения на файл, как показано на рисунке.
sudo chmod 600 ~/.ssh/authorized_keys ls -l .ssh/authorized_keys
На клиентской системе убедитесь, что Public и Private Keys имеют правильные разрешения.
- Закрытый ключ* должен иметь разрешения на чтение и запись только для владельца файла.
- Публичный ключ* должен иметь разрешения на чтение и запись для владельца файла и разрешения на чтение для группы и других глобальных пользователей.
Если это не так, настройте разрешения следующим образом в восьмеричном формате.
sudo chmod 600 ~/.ssh/id_rsa sudo chmod 644 ~/.ssh/id_rsa.pub
Это два основных способа, которые вы можете использовать для устранения ошибки «ssh permission denied public key». Может быть, мы упустили что-то еще? Сообщите нам об этом в комментариях.
Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.
Вдохновлен www.tecmint.com
Комментарии (0)