Предположим, у меня есть удаленная система с именем «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-сервером в удаленной системе.
источник
Ответы:
Да, вы можете сделать это, как вы это описали.
источник
Это немного в стороне, но .....
Если вы всегда используете одно и то же имя пользователя для удаленного сервера, вам также может быть полезно добавить хост в вашу конфигурацию ssh:
Таким образом, вам не нужно указывать имя пользователя при входе в систему, и вы исключаете это при возникновении проблем с ключами в будущем.
источник
Ваше локальное имя пользователя на самом деле не имеет значения (кроме секретного ключа, который должен находиться в домашнем каталоге вашего локального пользователя). Просто скопируйте ключ в
authorized_keys
раздел удаленного пользователя, и он будет работать.источник
При любых проблемах, связанных с ssh, первое, что нужно сделать, - включить многословие клиента:
Если это не поможет вам понять, что не так, вам нужно изменить уровень журнала на сервере и перезапустить демон.
Вы должны найти выходные данные отладки в /var/log/auth.log (или там, где когда-либо настроен ssh для входа). Как только вы нашли проблему, не забудьте установить ее так, как вы ее нашли.
источник
Права доступа к каталогам .ssh на обеих машинах будут правильными. Обычно это означает 700 в каталоге .ssh и самое большее 755 в домашнем каталоге. Кроме 600 на все файлы в каталогах .ssh.
Если пользователь в удаленной системе является пользователем root, убедитесь, что root может использовать ssh. (PermitRootLogin в sshd_config) и этот открытый ключ (PubkeyAuthentication) и, если необходимо, RSA (RSAAuthentication) включены.
источник
Если у вас включен SE Linux, вам также необходимо сделать следующее.
Добавьте метку SELinux, чтобы
authorized_keys
sshd мог получить к ней доступ.источник
Похоже, что вы делаете все правильно, но убедитесь, что права на авторизованные ключи указаны правильно. Они должны быть установлены на 600.
источник