Я пытаюсь включить аутентификацию SSH через свой подраздел GPG, с помощью этого учебного руководства. Однако я одолжил и использовал .init
сценарий из этого блога (вместо редактирования моего Xprofile).
Однако я получаю очень специфическое сообщение об ошибке:
┌─[12:53:49]─[user@pc]
└──> ~ $ ssh-add -l
gpg-agent[7659]: ssh handler 0xABCD1234 for fd 5 started
gpg-agent[7659]: ssh request 1 is not supported
gpg-agent[7659]: ssh request handler for request_identities (11) started
gpg-agent[7659]: no running SCdaemon - starting it
gpg-agent[7659]: DBG: first connection to SCdaemon established
gpg-agent[7659]: no authentication key for ssh on card: Card error
gpg-agent[7659]: /home/user/.gnupg/sshcontrol:4: key '[keygrip from auth key]' skipped: No such file or directory
gpg-agent[7659]: ssh request handler for request_identities (11) ready
The agent has no identities.
gpg-agent[7659]: ssh handler 0xABCD1234 for fd 5 terminated
Это, конечно, не имеет никакого смысла, потому что я никогда не использовал смарт-карту, и при этом я не думаю, что мне установили драйверы смарт-карты.
Кроме того, эти ключи GPG допустимы и импортируются. Ключ, упомянутый выше также, имеет подраздел аутентификации.
Я выполняю версию 2.1.1 GnuPG.
Там какой-либо путь состоит в том, чтобы зафиксировать это, и (в качестве награды), получить мои ключи SSH, работающие через GPG?
Содержание ~/.gnupg/sshcontrol
:
# List of allowed ssh keys. Only keys present in this file are used
# in the SSH protocol. The ssh-add tool may add new entries to this
<keygrip from my auth key>
Править: После выполнения set | grep SSH_AUTH_SOCK
, Я добираюсь:
SSH_AUTH_SOCK=/run/user/1000/keyring-PLDuNs/ssh
Однако после попытки к cat
этот файл, я получаю a No such device or address
ошибка. Однако я не уверен, релевантно ли это или просто пользовательская ошибка путем ожидания возврата.
Я вижу две проблемы с Вашей установкой:
Однако я одолжил и использовал
.init
сценарий из этого блога (вместо редактирования моего Xprofile).
init сценарий от того сообщения в блоге устарел (т.е. для версий GnuPG до 2,1). Не используйте его.
Править: После выполнения
set | grep SSH_AUTH_SOCK
, Я добираюсь:SSH_AUTH_SOCK=/run/user/1000/keyring-PLDuNs/ssh
Однако после попытки кошке этот файл, я не получаю такую ошибку устройства или ошибку адресации. Однако я не уверен, релевантно ли это или просто пользовательская ошибка путем ожидания возврата.
Вы используете несправедливость сокет автора SSH.
Для источника на этих требованиях консультируйтесь с официальной документацией. Для прямой фиксации посмотрите схему Jens Erat процесса на Unix StackExchange. Скопированный здесь для удобства:
- включите
ssh-agent
протокол путем добавленияenable-ssh-support
кому:~/.gnupg/gpg-agent.conf
export SSH_AUTH_SOCK=$HOME/.gnupg/S.gpg-agent.ssh
; Вы могли бы хотеть выполнить в этом Ваш~/.profile
- уничтожить
ssh-agent
если запущено и перезагрузкаgpg-agent
(gpg-connect-agent reloadagent /bye
)экспортируйте и добавьте свой открытый ключ для предназначения для серверов (
ssh-add -L
должен теперь содержать знакомую строку с открытым ключом SSH для Вашего ключа OpenPGP),Примечание редактора: Этот шаг может быть упрощен путем добавления, что ‘keygrip’ ключа оценивают
~/.gnupg/sshcontrol
и затем авторизовывая его на удаленном сервере сssh-copy-id
.ssh
к целевому серверу как с нормальным ключом SSH