У меня есть 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
.