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

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

7
задан 6 June 2013 в 00:34

3 ответа

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

0
ответ дан 6 June 2013 в 00:34

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

0
ответ дан 6 June 2013 в 00:34

Отключение 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 может получить доступ к незашифрованному закрытому ключу и, следовательно, подписать его.

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

0
ответ дан 6 June 2013 в 00:34

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

Похожие вопросы: