it-roy-ru.com

sign_and_send_pubkey: подпись не удалась: агент отказался от операции

Настройка новой капли Digital Ocean с ключами SSH. Когда я запускаю ssh-copy-id, вот что я получаю:

ssh-copy-id [email protected]
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
sign_and_send_pubkey: signing failed: agent refused operation
[email protected]'s password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.

Однако, когда я тогда пытаюсь войти в ssh, это происходит:

ssh [email protected]
sign_and_send_pubkey: signing failed: agent refused operation
[email protected]'s password: 

После ввода пароля, я вошел в систему просто отлично, но это, конечно, побеждает цель создания ключа SSH в первую очередь. Я решил взглянуть на серверную часть ssh-agent и вот что я получаю:

[email protected]:~# eval `ssh-agent -s`
Agent pid 5715
[email protected]:~# ssh-add -l
The agent has no identities.

user/.ssh/authorized_keys также содержит запись ключа ssh-rsa, но find -name "keynamehere" ничего не возвращает.

40
user968270

Запустите ssh-add на клиентском компьютере, чтобы добавить ключ SSH к агенту. 

Подтвердите с помощью ssh-add -l (снова на клиенте), что он действительно был добавлен.

97
Oliver

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

/var/log/secure
/var/log/messages

Результат:

[email protected]  ~  ssh [email protected]
sign_and_send_pubkey: signing failed: agent refused operation
[email protected]'s password:

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

chmod 700 ~/.ssh
chmod 600 ~/.ssh/*
26
Anto

У меня была такая же проблема вLinux Ubuntu 18. После обновления изUbuntu 17.10каждая команда git будет показывать это сообщение. 

Чтобы решить эту проблему, убедитесь, что у вас есть правильное разрешение на id_rsa и id_rsa.pub

Проверьте текущий номер chmod с помощью stat --format '%a' <file>. Он должен быть 600 для id_rsa и 644 для id_rsa.pub

Для изменения разрешения на использование файлов

chmod 600 id_rsa
chmod 644 id_rsa.pub

Это решило мою проблему с обновлением.

21
Fernando Munoz

К этой ошибке:  

# git pull
sign_and_send_pubkey: signing failed: agent refused operation
[email protected]: Permission denied (publickey).    
fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists.

Проверьте или добавьте снова открытый ключ в учетной записи Github> профиль> ssh.

Я решил так:

# chmod 400 ~/.ssh/id_rsa

# ls  ~/.ssh/id_rsa -ls  
4 -r--------. 1 reinaldo reinaldo 1679 Jul 26  2017 /home/reinaldo/.ssh/id_rsa

# git pull                                 
remote: Counting objects: 35, done.
remote: Compressing objects: 100% (19/19), done.
remote: Total 35 (delta 9), reused 34 (delta 9), pack-reused 0
Unpacking objects: 100% (35/35), done.

Спасибо.

1
reinaldo pinto

Причиной возникновения ошибки SSH могут быть разные причины:

sign_and_send_pubkey: подпись не удалась: агент отказался от операции

Некоторые из них могут быть связаны с проблемами, отмеченными в других ответах (см. Ответы в этой ветке), некоторые из них могут быть скрытыми и, следовательно, требуют более тщательного изучения.

В моем случае я получил следующее сообщение об ошибке:

sign_and_send_pubkey: подпись не удалась: агент отказался от операции

[email protected]: В доступе отказано (publickey, gssapi-keyex, gssapi-with-mic)

Единственный способ найти реальную проблему - вызвать параметр -v verbose, что привело к выводу большого количества отладочной информации:

debug1: Connecting to website.domain.com [xxx.xxx.xxx.xxx] port 22.
debug1: Connection established.
debug1: identity file /home/user/.ssh/id_rsa.website.domain.com type 0
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/id_rsa.website.domain.com-cert type -1

Обратите внимание, что строка «key_load_public: No such file or directory» относится к следующей строке, а не к предыдущей.

Поэтому SSH действительно говорит о том, что ему не удалось найти файл открытого ключа с именем id_rsa.website.domain.com-cert, и в моем случае это было проблемой, так как мой файл открытого ключа не содержал суффикс -cert

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

Суть в том, что ИСПОЛЬЗУЙТЕ РЕЖИМ SSH VERBOSE (опция -v), чтобы выяснить, что не так, могут быть разные причины, ни одной из которых нельзя найти в этом/другом потоке.

0
Eugen Mihailescu

Для меня проблема заключалась в неправильном копировании/вставке открытого ключа в Gitlab. Копия сгенерировала дополнительный возврат. Убедитесь, что вы вставляете однострочный ключ.

0
daniel sp

Да. Запустите ssh-add на клиентском компьютере . Затем повторите команду ssh-copy-id [email protected]

0
Kairat Koibagarov