Имя пользователя для существующего сертификата SSH?
На сервере Jenkins есть две пары закрытых и открытых ключей SSH в ~/.ssh/
каталог, который, очевидно, оба используются для аутентификации на одном и том же внешнем сервере. Однако я не знаю, какое имя пользователя использовать для одного из сертификатов.
Является ли информация об имени пользователя частью ключей SSH? Или ключ и имя пользователя отображаются только на сервере, принимающем авторизацию на основе сертификата?
1 ответ
Имя пользователя не является частью ключа.
На конце сервера файл ~/.ssh/authorized_keys
определяет, какие ключи разрешено входить в конкретную учетную запись. Имя, следующее за ключом, обычно является именем пользователя, но, поскольку SSH игнорирует это, оно может быть любым. В этом файле может быть любое количество ключей, поэтому при желании можно авторизовать множество ключей.
На стороне клиента ключ, используемый по умолчанию, находится в ~/.ssh/id_rsa
или же ~/.ssh/id_dsa
но это можно изменить, передав -i
к ssh
команда.
-i identity_file
Selects a file from which the identity (private key) for RSA or
DSA authentication is read. The default is ~/.ssh/identity for
protocol version 1, and ~/.ssh/id_rsa and ~/.ssh/id_dsa for pro-
tocol version 2. Identity files may also be specified on a per-
host basis in the configuration file. It is possible to have
multiple -i options (and multiple identities specified in config-
uration files).
Таким образом, сервер и клиент не должны использовать одно и то же имя пользователя.