Могу ли я использовать аутентификацию по ключу SSH для входа в удаленную систему с другим именем пользователя?

Могу ли я использовать аутентификацию по ключу SSH для входа в удаленную систему с другим именем пользователя?

Предположим, у меня есть удаленная система с именем «remotesystem» и учетная запись пользователя «foouser» в этой системе.

Я знаю, что в моей локальной системе я могу сгенерировать пару ключей SSH как локальный пользователь "foouser", поместить открытый ключ в файл "/home/foouser/.ssh/authorized_keys" на "remotesystem". Когда я подключаюсь по SSH как "foouser" из моей локальной системы в "remotesystem", SSH использует пару ключей для моей аутентификации.

Но что, если мое локальное имя пользователя не совпадает с именем пользователя на удаленной системе? То есть, что, если я хочу подключиться по SSH как локальный пользователь "baruser" к "remotesystem"? Очевидно, мне нужно будет сгенерировать пару ключей для "baruser" и добавить открытый ключ в "/home/foouser/.ssh/authorized_keys". Затем я должен иметь возможность "ssh foouser@remotesystem", будучи локально зарегистрированным как "baruser", и SSH будет использовать пару ключей для аутентификации, верно?

Я спрашиваю, потому что пытаюсь заставить работать аутентификацию ключа в этом сценарии, но безуспешно. Я не уверен, связано ли это с несоответствием имени пользователя или с проблемой конфигурации сервера SSH на удаленной системе.

решение1

Да, вы можете это сделать, именно так, как вы описали.

baruser@here ~$ ssh-add -l
4096 10:b3:fd:29:08:86:24:a6:da:0a:dd:c6:1e:b0:66:6a id_rsa (RSA)
baruser@here ~$ ssh foouser@remotesystem
сообщение motd и т.д.
foouser@remotesystem ~$

решение2

Это небольшое отступление, но...

Если вы всегда используете одно и то же имя пользователя для удаленного сервера, вам также может быть полезно добавить хост в конфигурацию ssh:

Host remotesystem
    User baruser

Таким образом, вам не придется помнить о необходимости указывать имя пользователя при входе в систему, и вы исключите это, если в будущем возникнут проблемы с ключами.

решение3

Ваше локальное имя пользователя не имеет значения (кроме того, что закрытый ключ должен находиться в домашнем каталоге вашего локального пользователя). Просто скопируйте ключ в раздел удаленного пользователя, authorized_keysи это сработает.

решение4

При возникновении любых проблем, связанных с ssh, первое, что следует сделать, — увеличить уровень детализации клиента:

ssh пользователь@машина -vvv

Если это не даст вам никаких сведений о причине неполадки, вам необходимо изменить уровень ведения журнала на сервере и перезапустить демон.

LogLevel DEBUG3

Вы должны найти вывод отладки в /var/log/auth.log (или там, где ssh настроен для входа в систему). После того, как вы нашли проблему, не забудьте вернуть ее к тому состоянию, в котором вы ее нашли.

Связанный контент