Использование зашифрованных секретных ключей PKCS#8 с ssh-агентом

Я настраиваю новую систему Ubuntu (12.04.2 LTS) для разработки Rails и хотел использовать зашифрованный закрытый ключ SSH согласно этой статье. Я могу настроить стандартную пару ключей ssh, используя инструкции на GitHub, и все работает нормально, но когда я следую инструкциям, приведенным в первой статье, я больше не могу использовать ssh для входа в систему. Вместо этого я получаю сообщение об ошибке "Агент признал невозможность подписать используя ключ." Я обнаружил ошибку (не могу опубликовать ссылку b/c с низкой репутацией, #328127), которая может быть связана; Меня не спрашивают о секретной фразе моего закрытого ключа, поэтому проблема в том, что я изменил закрытый ключ после создания. Попытка добавить новый ключ вручную, используя ssh-add только в результате ошибка возвращается дважды. Я не уверен, как установить $SSH_AUTH_SOCK в ноль, иначе я бы тоже попробовал. Любая помощь будет принята с благодарностью, спасибо!

3 ответа

Решение

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

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

Если вы генерируете стандартный файл идентификатора id_rsa в ~/.ssh или сохраняете закрытый ключ вместе со своим открытым ключом в ~/.ssh, ssh-agent автоматически добавляет его в свой список ключей. Но при этом он не запрашивает парольную фразу, он никогда не расшифровывает ключ.

Решение состоит в том, чтобы добавить ключ вручную. Удалите все зашифрованные ключи pkcs#8 из ssh-agent с помощью ssh-add -D и переместите файлы закрытого + открытого ключа из ~/.ssh. перезагрузите компьютер или ssh-agent -k, затем верните ваш зашифрованный ключ pkcs#8 PRIVATE в ~/.ssh. Используя ssh-add, запрашивается пароль для расшифровки. Теперь ssh-agent может получить доступ к незашифрованному закрытому ключу и, следовательно, подписать его.

(через Деймона Дрансфельда)

Извините за быстрый ответ, $SSH_AUTH_SOCK исправление сработало для меня; Я нашел инструкции в другой ветке ошибок. В случае, если кто-то еще застрял, набрав export SSH_AUTH_SOCK=0 устраняет проблему Надеюсь, это поможет!

Если вы предпочитаете, вы можете также заменить агент ключа SSOME GNOME на тот, который предоставляется OpenSSH, а затем снова добавить все ключи, как описано в этой статье.

Другие вопросы по тегам