Множественные уровни псевдонимов хостов в конфигурации ssh

Вопрос или проблема

Мой системный администратор управляет набором конфигураций SSH для наших удаленных серверов, эти конфигурации регулярно обновляются и загружаются в мою папку /etc/ssh/. Однако имена хостов в управляемых конфигурациях SSH слишком длинные для ввода (я ленив). Могу ли я создать псевдонимы имен хостов в моем ~/.ssh/config? Имейте в виду, что это не псевдоним для HostName.

Например, мой администратор загружает конфигурации в мою папку /etc/ssh/ssh_config.d/, которые выглядят следующим образом:

Host a.long.host.name
    HostName real-host-name.example.com
    ProxyCommand some proxy command
    ...

Я хочу дать a.long.host.name другое, более короткое имя, чтобы я мог ввести ssh foo вместо ssh a.long.host.name, я не хочу использовать псевдонимы оболочки, потому что другие команды, такие как scp, будут нуждаться в отдельных псевдонимах оболочки.

Я думаю, что ProxyCommand ssh -J localhost a.long.host.name сработает, но localhost должен иметь включенный sshd, что я не могу сделать.

“Host a.long.host.name” — это произвольное имя, оно может быть любым, что вам нравится, если только это не дубликат или зарезервированное слово и т. д. Это фактически псевдоним, специфичный для конфигурации SSH. Конфигурации SSH, специфичные для пользователя, будут иметь приоритет над системными конфигурациями в /etc/ssh/

Если вы знаете порт SSH сервера (например, 22), вы можете сделать это с помощью ProxyCommand, хотя это выглядит не очень красиво и требует дополнительных ресурсов ЦП на сервере:

Host <your-alias>
        ProxyCommand ssh -W localhost:22 <original-name>

Ответ или решение

Многоуровневый хост-алиас в конфигурации SSH

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

Основы конфигурации SSH

Файл ~/.ssh/config используется для настройki параметров SSH для отдельных пользователей. Он имеет более высокий приоритет, чем системные настройки, размещенные, например, в /etc/ssh/ssh_config.d/. Это означает, что вы можете переопределять параметры конфигурации для хостов без изменения их системного представления.

Создание алиасов

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

  1. Откройте файл ~/.ssh/config для редактирования (если файл не существует, создайте его):

    nano ~/.ssh/config
  2. Добавьте следующую конфигурацию:

    Host foo
       HostName a.long.host.name
       ProxyCommand ssh -W localhost:22 a.long.host.name

    В этом примере:

    • Host — это ваши алиасы (в данном случае foo).
    • HostName — это полное имя хоста, которое предоставляет ваш системный администратор.
    • ProxyCommand — позволяет использовать SSH через другой хост. В данном случае мы передаем команды на localhost, однако, как вы правильно заметили, этот вариант требует, чтобы sshd был активирован на локальном компьютере, что может быть недоступно в вашем случае.

Альтернативное решение без использования localhost

Если вам нельзя использовать localhost в качестве прокси, вы можете просто создать алиас, который не использует ProxyCommand, если у вас есть доступ к a.long.host.name напрямую без посредников. Например:

Host foo
    HostName a.long.host.name

Теперь, когда вы сохраните файл и выйдете из него, вы сможете использовать команду ssh foo, и SSH автоматически подставит все необходимые параметры поиска, заданные системным администратором.

Заключение

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

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

Оцените материал
Добавить комментарий

Капча загружается...