Назад | Перейти на главную страницу

SSH с gpg-agent: порядок ключей

У меня есть GPG, настроенный для общения с SSH (с --enable-ssh-support). У меня есть два ключа: скажи 0x1234 и 0xABCD. Оба ключа имеют следующие подразделы:

Поэтому у меня есть два разных открытых ключа, когда я запускаю ssh-add -L с участием 0x1234 сначала следует 0xABCD (Я думаю, что этот порядок определяется тем, какой ключ был добавлен последним). Все отлично работает.

я необходимость два разных ключа, потому что у меня есть серверы, которые принимают только один из двух ключей. Однако у меня также есть серверы, которые принимают оба ключа (например, Github). Я бы предпочел использовать 0xABCD над 0x1234 хотя оба будут приняты. Однако SSH всегда будет выбирать первый принятый ключ, поэтому 0x1234 предпочтительнее 0xABCD все время в таких серверах.

Я полагаю, что это нужно изменить со стороны GPG, потому что это gpg-agent это возвращает ключи в этом порядке.

Есть ли способ принудительно указать порядок ключей?

У меня был такой же вопрос, и я редактировал ~/.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.