SSH с gpg-агентом: порядок ключей
Я настроил GPG для общения с SSH (с --enable-ssh-support
). У меня есть два ключа: скажем 0x1234
а также 0xABCD
, Оба ключа имеют следующие подразделы:
- ключ подписи
- ключ шифрования
- ключ аутентификации
Поэтому у меня есть два разных открытых ключа при запуске ssh-add -L
с 0x1234
сначала следует 0xABCD
(Я думаю, что этот порядок определяется тем, какой ключ был добавлен последним). Все работает хорошо.
Мне нужны два разных ключа, потому что у меня есть несколько серверов, которые принимают только один из двух ключей. Однако у меня также есть серверы, которые принимают оба ключа (например, Github). Я бы предпочел использовать 0xABCD
над 0x1234
хотя оба будут приняты. Однако SSH всегда выберет первый принятый ключ, поэтому 0x1234
предпочтительнее 0xABCD
все время на таких серверах.
Я полагаю, что это должно быть изменено в сторону GPG вещей, потому что это gpg-agent
это возвращает ключи в этом порядке.
Можно ли как-то принудительно указать порядок ключей, о которых сообщается?
0 ответов
У меня был тот же вопрос и отредактировал ~/.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
# file to enable them; you may also add them manually. Comment
# lines, like this one, as well as empty lines are ignored. Lines do
# have a certain length limit but this is not serious limitation as
# the format of the entries is fixed and checked by gpg-agent. A
# non-comment line starts with optional white spaces, followed by the
# keygrip of the key given as 40 hex digits, optionally followed by a
# caching TTL in seconds, and another optional field for arbitrary
# flags. Prepend the keygrip with an '!' mark to disable it.
# Ed25519 key added on: 2019-01-01 07:08:09
# Fingerprints: MD5:93:75:54:e3:58:91:6c:7e:25:8f:f4:dd:98:81:8d:1a
# SHA256:RP+Mcdf4WsZeBkfrdumZmUBlt7bPSkENyVgFpxs276o
B0651F46AEC857C8C842231E74C71A03622DBCD1 0
# ... more entries
Ключи используются в порядке их появления в этом файле. Вы можете использовать ssh-add -l
показать хэши sha256 для ключей, которые вы просматривали через ssh-add -L
,