Имя пользователя для существующего сертификата 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).

Таким образом, сервер и клиент не должны использовать одно и то же имя пользователя.

Другие вопросы по тегам