Использование закрытых ключей PKCS # 8 w / ssh-agent

7

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

    
задан orenyk 05.06.2013 в 20:34
источник

3 ответа

4

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

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

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

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

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

ответ дан Shnatsel 08.06.2013 в 20:32
источник
0

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

    
ответ дан orenyk 06.06.2013 в 17:52
0

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

    
ответ дан k0ryfi 05.05.2014 в 01:17