Я установил Ubuntu 17.10 на машине и создал ssh ключ. Однако я не могу использовать брелок для ключей гнома для разблокирования этого ssh ключа, я всегда получаю следующее сообщение об ошибке при попытке соединиться через ssh или использовать мой ssh ключ с мерзавцем:
sign_and_send_pubkey: signing failed: agent refused operation
Я нашел много потоков и вопросов относительно этого сообщения, но ничто действительно не решало мою проблему.. Некоторые выводы от моей системы:
$ env | grep -i ssh
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
SSH_AGENT_PID=1139
$ ps aux | grep -i 'agent\|keyring'
username 997 0.0 0.1 509344 8064 ? Sl 15:15 0:00 /usr/bin/gnome-keyring-daemon --daemonize --login
username 1139 0.0 0.0 11240 324 ? Ss 15:15 0:00 /usr/bin/ssh-agent /usr/bin/im-launch env GNOME_SHELL_SESSION_MODE=ubuntu gnome-session --session=ubuntu
$ ssh-add -l
4096 SHA256:fingerprintXXX username@machine (RSA)
Я установил человечность снова в виртуальной машине и если попытка использовать ssh или мерзавца с ssh ключом там графическое диалоговое окно пароля открывается и просит мой пароль безупречно.
Агент работает, он просто не сотрудничает, потому что думает, что вы делаете что-то небезопасное.
Чаще всего это происходит из-за неправильных прав доступа к файлам ключей ssh. Например, если вы скопировали их с другого компьютера; убедитесь, что папка ~ / .ssh
имеет права 700
(доступны только вам), и аналогично, файлы в ней не должны быть доступны для чтения другими.
chmod 700 ~/.ssh
chmod 600 ~/.ssh/*