Чи можна використовувати автентифікацію ключа SSH для входу у віддалену систему з іншим ім'ям користувача?


17

Припустимо, у мене є віддалена система з назвою "віддалена система" та обліковий запис користувача "foouser" у цій системі.

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

Але що робити, якщо моє локальне ім’я користувача не збігається з ім'ям користувача у віддаленій системі? Тобто, що робити, якщо я хочу SSH як локальний користувач "baruser" в "віддалену систему"? Очевидно, мені потрібно буде створити пару ключів для "baruser" і додати відкритий ключ до "/home/foouser/.ssh/authorized_keys". Тоді я маю змогу "ssh foouser @ Remotesystem" під час входу в систему як "baruser" локально, і SSH використовуватиме пара ключів для автентифікації, правда?

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


Я запустив сервер реєстрації, і це виявило проблему з дозволами на домашній каталог віддаленого користувача. Проблема вирішена! Дякую всім, хто дав відповіді.
Метт Херн

Відповіді:


11

Так, ви можете це зробити так само, як ви це описали.

baruser @ тут ~ $ ssh-add -l
4096 10: b3: fd: 29: 08: 86: 24: a6: da: 0a: dd: c6: 1e: b0: 66: 6a id_rsa (RSA)
baruser @ тут ~ $ ssh foouser @ Remotesystem
motd повідомлення тощо.
foouser @ віддалена система ~ $

Дякую за відповідь. Я знав, що я не божевільний ... :-) З конфігурацією SSH-сервера віддаленої системи щось не так, що перешкоджає аутентифікації ключів взагалі працювати.
Метт Херн

4
Якщо ви робите "ssh -V foouser @ Remotesystem", ви можете отримати деяку інформацію про те, що відбувається не так. Часто це помилка дозволу на ~ / .ssh.
Пол Томблін

4
не -V (показує номер версії), але -vvv (max verbosity)
Левен

10

Це трохи вбік, але .....

Якщо ви завжди використовуєте одне і те ж ім'я користувача для віддаленого сервера, вам може бути корисним додати хост у ваш ssh-конфігурацію:

Host remotesystem
    User baruser

Таким чином, вам не потрібно пам’ятати, щоб вказати ім’я користувача під час входу в систему, і ви виключаєте це, коли в майбутньому виникнуть проблеми з ключами.


5

Ваше місцеве ім’я користувача насправді не має значення (окрім приватного ключа, який повинен знаходитись у домашньому каталозі вашого місцевого користувача). Просто скопіюйте ключ у розділ віддаленого користувача, authorized_keysі він спрацює.


3

З будь-якими проблемами, пов'язаними з ssh, перше, що потрібно зробити, - це виявити багатослівність клієнта:

ssh user @ machine -vvv

Якщо це не дасть вам зрозуміти, що не так, вам потрібно змінити рівень журналу на сервері та перезапустити демон.

LogLevel DEBUG3

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


2

Дозволи на .ssh каталоги на обох машинах значно коректні. Як правило, це означає 700 в каталозі .ssh і не більше 755 в домашньому каталозі. Окрім 600 на всіх файлах у каталогах .ssh.

Якщо користувач у віддаленій системі має root, переконайтеся, що корінь може ssh. (PermitRootLogin в sshd_config) і цей відкритий ключ (PubkeyAuthentication) і, якщо потрібно, RSA (RSAAuthentication) увімкнено.


Чи не RSAAuthentication є повністю окремим методом?
користувач1686

RSA - це один із алгоритмів відкритих ключів, що підтримується SSH (разом з DSA.) Це був єдиний метод в SSH1.
Олександр Кармель-Вельє

2

Якщо у вас включена SE Linux, вам також потрібно буде виконати наступне.

Додайте мітку SELinux, щоб authorized_keysдоступ до неї міг отримати sshd.

semanage fcontext -a -t sshd_key_t ~foo/.ssh/authorized_keys
restorecon -Rv ~user/.ssh

0

Здається, що ви все робите правильно, але переконайтеся, що дозволи на правильних_кеях правильно. Їх слід встановити на 600.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.