Перейти к содержимому

Permission denied linux как исправить

  • автор:

Как устранить ошибку SSH Permission Denied (publickey)

Ключи SSH — отличный способ аутентификации сеансов SSH без необходимости вводить пароль при каждом входе в систему. Однако, как и все технологии, ключи SSH не идеальны, и при их использовании вы можете столкнуться с ошибками. Одной из самых распространенных ошибок при работе с ключами SSH является ошибка отказа в доступе (publickey).

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

Ошибка 1: авторизованные ключи и разрешения каталога

Одной из причин этой ошибки могут быть разрешения и права собственности, настроенные для каталога .ssh и файла author_keys.

Чтобы решить эту проблему, установите для каталога .ssh права доступа 700, а разрешения author_keys — 6oo.

sudo chmod 700 ~ / .ssh sudo chmod 600 authorized_keys

Ошибка 2: неверная конфигурация SSH

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

#PermitRootLogin prohibit-password
#PasswordAuthentication yes

Вышеупомянутые записи должны быть такими, как показано ниже:

Сохраните конфигурацию и перезапустите службу:

sudo systemctl restart sshd.service

Ошибка 3: недостающие ключи

Другой возможной причиной ошибки отказа в доступе к открытому ключу может быть отсутствие ключей на вашем локальном компьютере. Если ваши ключи добавлены в файл author_keys сервера, но отсутствуют соответствующие закрытые ключи, это может вызвать ошибку.

Чтобы решить эту проблему, отредактируйте файл конфигурации ssh, отключите аутентификацию с открытым ключом и включите вход с паролем следующим образом:

Изменить на следующие записи:

#PubkeyAuthentication yes
PasswordAuthentication yes

После редактирования конфигурации сохраните файл и перезапустите службу SSH:

sudo systemctl restart sshd.service

Если вы уверены, что ваши ключи были скомпрометированы, вы можете удалить их из author_keys или добавить конкретный ключ в список отозванных в SSH.

Заключение

В этом кратком руководстве показано, как решать различные проблемы, которые могут вызвать ошибку отказа в доступе (открытый ключ) в SSH. Если проблема не устранена, рассмотрите другие методы устранения неполадок.

Все права защищены. © Linux-Console.net • 2019-2023

Ошибка: Permission denied (доступ запрещен) /публичный ключ/

Ошибка «Permission denied» (доступ запрещён) означает, что сервер отклонил ваше соединение. У этой ошибки может быть несколько причин; наиболее общие из них приведены ниже.

Можно ли использовать в Git команду sudo ?

Вы не должны использовать команду sudo с Git. Если у вас есть веская причина использовать sudo , убедитесь, что вы используете её с каждой командой (возможо, лучше использовать su чтобы получить оболочку с правами суперпользователя (администратора) в этом месте). Если вы сгенерировали SSH-ключ без sudo , а затем пытаетесь использовать команду, подобную sudo git push , вы не должны использовать те же ключи, которые сгенерировали.

Проверьте, что вы подключились к нужному серверу

Будьте внимательны при вводе команд с клавиатуры. В некоторых случаях корпоративная сеть может привести к проблемам разрешения записи DNS.

Так как документ подготовлен в рамках курсов повышения квалификации «Правильный курс» , то и проверка подключения будет описана именно на этом примере.
Напомним, что доступ к репозиторию [email protected] организован по порту 25000, а не по стандартному для SSH порту 22. Поэтому в команде подключения вы должны явно указать номер порта.

Для того, чтобы убедиться в том, что вы подключаетесь к нужному домену, введите следующую команду, добавив в строке номер порта ‘-p 2500’ :

Как исправить ошибку 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». Может быть, мы упустили что-то еще? Сообщите нам об этом в комментариях.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Ошибка «Permission denied» в Linux

Все операционные системы семейства Linux имеют четко разграниченные права доступа. В своей домашней директории пользователь может делать все, что ему угодно, до тех пор, пока укладывается в отведенные рамки. Попытка выйти за них приводит к появлению ошибки «Permission Denied».

Изменение прав в терминале

Рассмотрим вариант, в котором необходимо прочесть текстовый документ, созданный другим пользователем. Файлы TXT в Linux можно просматривать непосредственно в терминале с помощью команды «cat».

    Заходим в каталог с интересующим нас документом. Набираем команду «cat filename», подставляя вместо «filename» имя нужного файла. На скриншоте показана ошибка «Permission Denied», выглядящая в русской локализации как «Отказано в доступе».

Ошибка «Permission Denied»

Получаем ошибку «Permission Denied» при попытке просмотреть содержимое файла

Просмотр прав доступа командой «ls»

Проверяем права доступа к документу используя команду «ls -l»

Изменение прав доступа командой «chmod»

Используем команду «chmod» и административные права для получения доступа

Просмотр текстового файла командой «cat»

Просматриваем содержимое текстового документа командой «cat»

Изменение прав в файловом менеджере

Разберемся, как выполнить рассмотренную выше операцию в графическом интерфейсе, используя файловый менеджер из дистрибутива.

    Как видно на скриншоте, значок файла изначально имеет дополнительные символы, указывающие на то, что доступ у нему ограничен. При попытке посмотреть содержимое получаем графический вариант ошибки «Permission Denied».

Графический вариант ошибки «Permission Denied»

При попытке открыть текстовый документ получаем ошибку «Permission Denied»

Переключение файлового менеджера в режим root

Открываем меню «Файл» и перезапускаем файловый менеджер от имени root

Окно аутентификации root

Набираем пароль root в окне аутентификации

Контекстное меню файлового менеджера

Открываем параметры файла с помощью контекстного меню

Вкладка «Права» в свойствах файла

На вкладке «Права» разрешаем доступ для группы root и остальных пользователей

Файл, открытый в режиме чтения

Открываем ранее недоступный файл в режиме чтения и изучаем содержимое

В заключение

Как видим, избавиться от ошибки Permission Denied достаточно просто. Решив изменить правда доступа к системным файлам, лишний раз убедитесь, что полностью уверены в своих действиях и понимаете последствия вносимых изменений.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

https://kodirovanie.vyvod-iz-zapoya-na-domu-moskva-snp.ru/