У меня есть удаленный сервер 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 это помогло связать все воедино, так что вам, вероятно, стоит проголосовать и за этих участников.