Я использую свои ключи без пароля, потому что все задействованные машины работают в довольно закрытой среде. Поэтому мне не нужен ssh-agent. Но я случайно запустил скрипт, который, похоже, включил его использование, и я не могу его остановить.
Я могу завершить процесс, но при следующей загрузке, поскольку «расшифрованный» ключ отсутствует в кэше, я не смогу подключиться по ssh без сообщения об ошибке:
sign_and_send_pubkey: signing failed: agent refused operation
Кажется, 'виновником' является $SSH_AUTH_SOCK
. Все это решится, если я просто удалю это? Или есть способ получше?
РЕДАКТИРОВАТЬ: $SSH_AUTH_SOCK
Переменная существует только тогда, когда я проверяю из терминала на моем рабочем столе GNOME. Если я проверяю из tty, он ничего не возвращает.
решение1
Похоже, что Gnome здесь настоящий виновник. Или, точнее, gnome keyring. Вы пробовали методпредложено здесьотключить ssh в связке ключей gnome? Ссылка касается связки ключей gnome в Ubuntu, но информация, похоже, довольно независима от дистрибутива.
TheArch Linux викитакже есть хорошее описание этого:
Отключить компоненты демона связки ключей
Если вы хотите запустить альтернативный SSH-агент (например, ssh-agent или gpg-agent, вам необходимоотключить компонент ssh в GNOME KeyringЧтобы сделать это локально в аккаунте:
#!/bin/sh
mkdir ~/.config/autostart
cp /etc/xdg/autostart/gnome-keyring-ssh.desktop ~/.config/autostart/ &&
printf '%s\n' 'Hidden=true' >> ~/.config/autostart/gnome-keyring-ssh.desktop