Назад | Перейти на главную страницу

Как я могу использовать разные ключи ssh для user1 @ host и user2 @ host, не прибегая к псевдонимам хостов?

У меня есть удаленный сервер CentOS, давайте представим, что он называется hostname.com

hostname.com имеет несколько учетных записей пользователей, и я хочу подключиться к этому серверу по ssh от имени любого из этих пользователей (используя ключи ssh, а не пароль).

Кажется, все рекомендуют просто изменить мою локальную конфигурацию ssh, добавить псевдоним сервера для каждого удаленного пользователя, а затем предоставить другой IdentityFile для каждого псевдонима.

Итак, я должен ssh bob@aliased_hostname1 и ssh alice@aliased_hostname2

Есть ли другие решения? Я бы предпочел не использовать ssh'ing в псевдонимах хостов

В идеале я хочу просто ssh bob@hostname.com или ssh alice@hostname.com и автоматически выбирает правильный ключевой файл ssh на основе имени удаленного пользователя, под которым я пытаюсь войти.

Проверьте Match ключевое слово в вашей конфигурации SSH на клиентском компьютере. В частности, user и host критерии. В ssh_config(5) страница руководства заявляет (выделено мной):

Условия соответствия указываются с помощью один или несколько критериев или один токен, который всегда совпадает.

Итак, в вашем случае вы бы посмотрели на что-то вроде:

Match user bob host "hostname.com"
  IdentityFile /path/to/bob.key

Match user alice host "hostname.com"
  IdentityFile /path/to/alice.key

Есть один суперпользователь и один Unix и Linux Q / A это помогло связать все воедино, так что вам, вероятно, стоит проголосовать и за этих участников.