Я только что обновил свою систему 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
команды. Любая помощь будет оценена.
l
.L
шрифта "Liberation Mono" :-(ssh-add
другое, чем использовать,ssh-add -l
потому что вы можете получить слишком много записей вssh-agent
. Нет необходимости добавлять вручную.Dash > Startup Applications
показывает, чтоssh-agent
он уже запущен, и он автоматически обнаружит такие файлы, как~/.ssh/id_rsa
и~/.ssh/id_rsa.pub
. Чтобы доказать это, вы можете использоватьssh-add -l
до и после использованияssh-keygen
. Вы увидите, что он отслеживает файлы, поэтому вам не нужно добавлять их вручную.ssh-add -d
иssh-add -D
для удаления вручную. Просто удалите файлы ключей~/.ssh/id_rsa
и~/.ssh/id_rsa.pub
иssh-agent
заметит. Доказать, что вы можете сделатьssh-add -l
до и после удаления файлов ключей.Простое решение
У меня была такая же проблема в Ubuntu 18.04. Это все о клиентских разрешениях закрытых ключей .
Права доступа к файлу были слишком открыты (0644).
Следующая команда решила это:
источник
У меня была такая же проблема (те же симптомы)
... но решение было другим.
Проблема исходила от использования GNOME-KEYRING. Пост, касающийся решения, можно прочитать здесь .
Короче говоря:
На странице представлены другие подробности в случае аналогичной проблемы с другим решением.
источник
Permissions 0775 for '.ssh/id_rsa' are too open
. Простое решение здесь былоchmod 600 .ssh/id_rsa
.SSH_AUTH_SOCK=0
раньшеgit pull
и получил предупреждение о разрешениях, как Мэтт.Я получал информацию
sign_and_send_pubkey: signing failed: agent refused operation
при входе на несколько серверов, прочитал ответ VonC о переполнении стека для получения дополнительной информации о связанных ошибках, решение для меня состояло в том, чтобы удалить gnome-keyring, удалить удостоверения из ssh-agent и перезагрузиться.Тогда все мои ключи начали работать отлично.
ОБНОВИТЬ:
Временное решение без удаления ключей
Если вы хотите сохранить gnome-keyring и у вас есть
agent refused operation
ошибка, используйте:или использовать
SSH_AUTH_SOCK=0 ssh your-server
Постоянное решение без удаления ключей
Если вы можете, gnome-keyring совместим с 4096-битным ключом RSA, так что просто сгенерируйте новый ключ с помощью:
Загрузить открытый ключ на сервер
Добавить ключ ssh к агенту
Это должно работать без каких-либо дополнительных хаков, и gnome-keyring может оставаться установленным.
(-C [имя пользователя] является необязательным, но требуется провайдерами, такими как Google Cloud)
источник
ssh-agent
. Вы все еще можете запустить ssh-agent и ввести пароли закрытого ключа на консоли / оболочке.После обновления до 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/id_ed25519*
(они больше не нужны, это было из более раннего теста) все снова прошло нормально.источник
Could not add identity "~/.ssh/id_ed25519": communication with agent failed
агент работает и настроен, насколько я могу судить.ssh-agent
сокета. Простой ssh-agent может обрабатывать ключи ED25519, а агент аутентификации gnome - нет (помимо других проблем, которые он вызывает). Смотрите ответ Сэма askubuntu.com/a/835114/167846 или Майка askubuntu.com/a/762968/167846Произошло со мной, потому что мой закрытый ключ имел парольную фразу. Пришлось запустить,
ssh-add
а затем он попросил пароль и добавил правильно. Однако теперь он не запрашивает мою фразу-пароль при подключении к машине.источник
У меня свежая установка Ubuntu16.04, и у меня возникли аналогичные проблемы. Когда я попытался клонировать свой репозиторий из Github после того, как я скопировал свой открытый ключ в github (согласно инструкциям на github.com ) и после выполнения следующей проверки ( рекомендуется на github.com ):
Меня приветствовали следующие:
Чтобы исправить это быстро, не удаляя ничего и не меняя конфигурацию запуска, я просто набрал в терминале следующее:
Тогда клон сработал. Затем я снова запустил остановленный демон, набрав:
Позже, чтобы изменить положение вещей более постоянным образом, я последовал совету здесь
источник
После обновления Fedora 26 до 28 я столкнулся с той же проблемой. И нет журналов
сообщение об ошибке не указывает на актуальную проблему. Проблема решена
источник
Добавление комментария, поскольку у меня была та же проблема с ключами ed25519. Проблема действительно гном-брелок. Чтобы это исправить, я сделал следующее:
ssh-agent -s
)источник
Это конец 2018 года, и эта ошибка, или ее разновидности, все еще изводят Xubuntu 16.04 и, скорее всего, другие версии Xenial. Я бы не удивился, если бы он существовал и в 18.04! Это было в некоторой форме с 2009 года, и Кармическая Коала. Повлияло на Redhat, Debian и Ubuntu. Не верьте мне на слово, посмотрите публичные сообщения об ошибках:
https://bugs.launchpad.net/ubuntu/+source/gnome-keyring/+bug/470456
И в этой ошибке, вы также найдете списки для других 3:
Рекомендации:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=523322
https://bugzilla.redhat.com/show_bug.cgi?id=508286
https://bugzilla.gnome.org/show_bug.cgi?id=576700
В моем случае наиболее очевидным симптомом была неспособность использовать ssh-ключи с парольными фразами. Это может повлиять и на них без, так как неисправность вообще не позволяет загружать ssh-ключи! И у меня не было проблем с разрешениями, это было все gnome-keyring. Мои ключи (да, он отказался несколько, для разных SSH-серверов!) Были все 600 (rw для владельца, ничего для группы или другого), как указано во многих ответах об этом. Так что я ничего не мог изменить там.
В Xubuntu есть способ отключить элементы автозагрузки. Обычно это также возможно в Unity / Gnome / KDE, но у меня их нет, поэтому я не могу дать конкретные шаги. Не уверен в других рабочих столах. Вместо того чтобы отключать агент SSH, агент GPG и другие элементы из Gnome, которые вызывают это, и другие связанные с этим ошибки, я отключил все элементы запуска Gnome. Может быть, излишним или не вариант для некоторых, но SSH вернулся к безупречной работе при следующей перезагрузке!
Скриншот графического интерфейса, описанного выше:
Итак, поскольку я дал свое исправление выше, я надеюсь, что кто-то исправит это.
Ubuntu наверняка не удалось раздавить его навсегда, так как есть несколько билетов на несколько выпусков, которые утверждают, что это исправлено, и больше, которые говорят «регрессия», он вернулся.
Вероятно, Debian хочет надуть (помыть руки), потому что это не они, а верхний поток - это Gnome.
Redhat, вероятно, имеет исправление, доступное только для платящих клиентов. Потому что исторически Redhat является единственным крупнейшим работодателем платных разработчиков Gnome, что является щедрым на первый взгляд. Пока вы не поймете, что это означает, что у них есть финансовый стимул никогда не вносить подобные исправления в бесплатные версии, чтобы продолжать продавать подписки Redhat.
Gnome, вероятно, те, кто может легко исправить это в апстриме, а затем остальные могут протестировать и упаковать, не написав ни одной строки кода. Но билеты, которые я прочитал, говорят, что пакет томился годами без официального сопровождающего! И два человека, которые добровольно делают это сейчас (спасибо), почти так же заняты разработкой замены. Почему бы не починить спущенную шину, даже если на это потребуется год (это было десятилетие!), А не изобретать колесо первым ?!
источник
работает для меня. Но будь уверен
это работает.
источник
В моем случае проблема была вызвана GNOME Keyring. Чтобы отключить возможности SSH для gnome-keyring, не удаляя его напрямую (что часто ломается), следуйте этим инструкциям :
и перезапустите сеанс. Теперь вы можете запустить ssh-agent без вмешательства gnome-keyring.
источник
Я попробовал пару вещей, в том числе ssh-add, сброс SSH (удаление .ssh / на сервере и т. Д., Но не повезло. Так вышло, что мне просто пришлось переспать на одну ночь. Это помогло! Почему? «Я предполагаю, что ssh-agent, работающий на сервере, имел что-то в своем кэше, который был обновлен позже той ночью с теперь правильными значениями. Во всяком случае, теперь он работает как чудо. В заключение он сделал это (Ubuntu 16.04 на localhost, 14.04 на сервере).
источник
В итоге я сбросил свой известный файл hosts, и он сработал. Пришлось снова ввести пароль, но он, наконец, принял правильный пароль. Это было после новой установки.
источник
Если добавление SSH_AUTH_SOCK = 0 до того, как поможет команда ssh, то это ошибка набора ключей gnome. За исключением предоставленных решений и проблем, проблема может быть связана с парольной фразой. Если у вас есть ключевая фраза для ключа, то gnome keyring запрашивает ее при первом входе в систему и если вы вводите пустое по ошибке или неожиданно закрываете окно, gnome принимает его как пустую ключевую фразу и запоминает его навсегда. Ничто не поможет снова ввести пароль. Чтобы решить проблему, откройте приложение ssh keyring и перейдите в раздел «Вход» в категории «Пароли». Найдите запись, соответствующую проблемному ключу, войдите в Свойства и введите правильную фразу-пароль.
источник
Существует еще одна причина этого, которая пока отсутствует в любом ответе: формат PEM для файла ключей перестал быть значением по умолчанию,
ssh-keygen
прежде чем Ubuntu перешел на a,gnome-keyring-daemon
который поддерживает новый формат RFC4716.Если вы сгенерируете новый ключ или добавите / удалите ключевую фразу из своего ключа, он может сломаться. Ключ используется
ssh-keygen -m PEM
перед любой другой операцией, которую вам нужно запустить. Например, вы можете преобразовать обратно в старый формат, используяssh-keygen -m PEM -p
и введя старую фразу-пароль в качестве новой фразы-пароля (которая будет пустой без парольной фразы).источник