Ubuntu 16.04 ssh: sign_and_send_pubkey: сбой подписи: агент отказался от операции

Я только что обновил свою систему Ubuntu с 15.10 до 16.04, полностью удалив раздел Ubuntu 15 из моей системы.

После установки Ubuntu 16.04 я воссоздал свои ssh-ключи, так как забыл создать их резервную копию, но всякий раз, когда я пытаюсь использовать ssh, я получаю sign_and_send_pubkey: signing failed: agent refused operation это немного раздражает, поскольку позволяет мне подключиться к моему ssh-серверу, но git отказывается передавать код с помощью ssh.

Я уже отправил ключи на сервер с помощью ssh-copy-id.

Сервер, к которому я подключаюсь, - это сервер Ubuntu 16.04, обновленный с помощью do-release-upgrade команда. Любая помощь будет очень признательна.

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

ssh-add

Тогда вы сможете ssh на ваш сервер.

кроме того, вы можете просмотреть список отпечатков пальцев всех удостоверений личности, добавленных в настоящее время:

ssh-add -l

Простое Решение

У меня была такая же проблема в Ubuntu 18.04. Это все о клиентской стороне права доступа к закрытому ключу.

$ ssh root@192.168.1.1sign_and_send_pubkey: signing failed: agent refused operation

Права доступа к файлам были слишком открыты (0644).

Следующая команда решила эту проблему:

chmod 600 ~/.ssh/id_rsa

У меня была та же проблема (те же симптомы)

sam@xxxxx:~/.ssh$ ssh centos@123.123.123.123sign_and_send_pubkey: signing failed: agent refused operationPermission denied (publickey,gssapi-keyex,gssapi-with-mic).

... но решение было другим.

Проблема была связана с использованием GNOME-KEYRING. Сообщение, ссылающееся на решение, можно прочитать здесь.

Короче говоря:

  1. Обнаружьте проблему, добавив SSH_AUTH_SOCK=0 перед ssh command.sam@xxxxx :~/.ssh$ SSH_AUTH_SOCK=0 ssh centos@123.123.123.123
  2. В случае, если ему удастся подключиться. Откройте приложение запуска приложения (например, с помощью функции поиска на рабочем столе) и отключите использование gnome-keyring.
  3. Перезагрузить

На странице приведены другие подробности в случае аналогичной проблемы с другим решением.

Я получал sign_and_send_pubkey: signing failed: agent refused operation при входе на несколько серверов и чтении Ответ VonC на переполнение стека для получения дополнительной информации о связанных ошибках. Решение для меня состояло в том, чтобы удалить gnome-keyring, удалить идентификационные данные из ssh-agent, и перезагрузитесь.

sudo apt-get autoremove gnome-keyringssh-add -D

Затем все мои ключи начали работать идеально.

Временное решение без удаления связки ключей

Если вы хотите сохранить gnome-keyring на локальном компьютере, и у вас есть agent refused operation ошибка, используйте:

eval `ssh-agent -s`ssh-add

или использовать SSH_AUTH_SOCK=0 ssh your-server.

Постоянное решение без удаления брелка для ключей

Если ты сможешь, gnome-keyring совместим с 4096-битным ключом RSA, поэтому просто сгенерируйте новый ключ с помощью:

ssh-keygen -t rsa -f ~/.ssh/your-key-name -b 4096 -v -C root

Загрузить открытый ключ на сервер:

ssh-copy-id -i ~/.ssh/your-key-name.pub root@12.34.56.78

Добавьте ssh-ключ к агенту:

ssh-add ~/.ssh/your-key-name

Это должно работать без каких-либо дополнительных взломов и gnome-keyring может оставаться установленным.

-C [username] является необязательным, но требуется такими поставщиками, как Google Cloud.)

После обновления до Ubuntu 18.04 я получил ту же ошибку sign_and_send_pubkey: signing failed: agent refused operation. Оказывается, это было вызвано тем, что разрешения ssh-ключа были слишком открыты.Следующая команда устранила проблему для меняchmod 600 .ssh/id_rsa

В моей системе (также Ubuntu 16.04, пытаюсь подключиться к github) у меня был файл id_ed25519 в моей папке .ssh, который сделал ssh-add неудача:

$ ssh-addIdentity added: ~/.ssh/id_rsa (~/.ssh/id_rsa)Could not add identity "~/.ssh/id_ed25519": communication with agent failed

После удаления файлов ~/.ssh/id_ed25519* (они больше не были нужны, это было из более раннего теста) все снова прошло нормально.

Это случилось со мной, потому что в моем личном ключе была кодовая фраза. Пришлось бежать ssh-add а затем он запросил пароль и добавил его правильно. Однако теперь он не запрашивает мою парольную фразу при подключении к компьютеру по ssh.

У меня есть свежая установка Ubuntu16.04, и я столкнулся с аналогичными проблемами. Когда я попытался клонировать свой репозиторий из Github после того, как я скопировал свой открытый ключ в github (согласно инструкции по github.com) и после проведения следующей проверки (рекомендуется на github.com):

ssh -T git@github.com

Меня приветствовали следующие:

sign_and_send_pubkey: signing failed: agent refused operationPermission denied (publickey).

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

killall gnome-keyring-daemon

Затем клон сработал. Затем я снова запустил остановленный демон, набрав:

gnome-keyring-daemon

Позже, чтобы изменить ситуацию более постоянным образом, я последовал совету здесь

После обновления Fedora 26 до 28 я столкнулся с той же проблемой.И никаких файлов журналов

no /var/log/secureno /var/log/messagesantop@localmachine  ~  ssh root@ocp1.example.comsign_and_send_pubkey: signing failed: agent refused operationroot@ocp1.example.com's password:

сообщение об ошибке не указывает на реальную проблему. Проблема решена с помощью

chmod 700 ~/.sshchmod 600 ~/.ssh/*

gpg-connect-agent updatestartuptty /bye, затем повторите попытку.