Мир прекрасен. Это-то и грустно (С. Лец).

Ошибка SSH в Linux. Исправление разрешения denied (publickey)

2 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
3 октября 2018
Ошибка SSH в Linux. Исправление разрешения denied (publickey)

В этом кратком руководстве вы узнаете, как исправить ошибку ssh. “sign_and_send_pubkey: signing failed: agent refused operation Permission denied (publickey)” в Linux.

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

В нашем случае у нас были общедоступные и закрытые ключи, хранящиеся на рабочем столе Ubuntu 16.04. После выпуска Ubuntu 18.04 мы решили перейти на эту новую версию. Мы предпочитаем новую установку поверх обновлений дистрибутива.

Итак, мы сделали резервную копию основных папок моего домашнего каталога, включая папку .ssh, на которой были открытые и закрытые ключи на внешнем диске. После установки Ubuntu 18.04 мы восстановили все, включая ключи SSH.

Теперь, когда мы попытались подключиться к удаленному серверу с помощью ssh, то подумали, что это сработает сразу, потому что были такие же публичные и закрытые ключи.

Но это не сработало. SSH выдал эту ошибку:

sign_and_send_pubkey: signing failed: agent refused operation
root@xxx.xxx.xxx.xx: Permission denied (publickey).

 

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

Ошибка исправления отказа от прав (publicickey)

Поэтому проблема заключается в разрешении файлов. Видите ли, когда мы копировали файлы, USB флешка была в формате файла FAT Microsoft. Этот файл не поддерживает разрешения файлов UNIX/Linux.

И, следовательно, разрешения на скопированные ключи ssh были изменены на 777.

Для SSH права доступа к файлу слишком открыты. Просто не разрешено иметь 777 для открытых или закрытых ключей. И вот почему SSH отказался от подключения.

ls -l .ssh
-rwxrwxrwx 1 andreyex andreyex 1766 Nov 23  2017 id_rsa
-rwxrwxrwx 1 andreyex andreyex  398 Nov 23  2017 id_rsa.pub
-rwxrwxrwx 1 andreyex andreyex 4214 Sep 15 12:38 known_hosts

 

Закрытый ключ должен иметь права на чтение и запись только для пользователя и другие разрешения для группы и других.

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

chmod 600 ~/.ssh/id_rsa

 

Аналогично, открытый ключ не должен иметь права на запись и выполнение для группы и других.

chmod 644 ~/.ssh/id_rsa.pub

 

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

Это также научило нас одному уроку, копирование и вставка файлов – плохая идея, и правильная резервная копия должна быть сделана иначе, все файлы будут иметь опасные разрешения 777 на них. Мне пришлось рекурсивно менять права доступа к файлу во всем каталоге Home и поверьте мне, это было не очень приятно.

Как мы сказали ранее, для этой ошибки могут быть разные причины. Для проблемы, связанной с разрешением на открытие файла, это исправление должно помочь вам исправить ошибку, Permission denied (publickey) в SSH.

Дайте нам знать в разделе комментариев, исправление работает для вас или нет. Также предложите свое мнение о копировании ключей ssh на другие компьютеры.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Просмотров: 63

Если статья понравилась, то поделитесь ей в социальных сетях:

Один комментарий к Ошибка SSH в Linux. Исправление разрешения denied (publickey)

  1. Рита:

    Блин, а так удобно пользоваться горячими клавишами для вставки! У меня тож была такая проблема, пришлось программиста просить править, а тут оказывается не всё так страшно. Теперь буду знать, что и сама справиться могу)

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

Войти с помощью: 

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

Размер шрифта

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close