ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Используйте файл конфигурации SSH для управления SSH-подключениями к различным удаленным серверам

Используйте файл конфигурации SSH для управления SSH-подключениями к различным удаленным серверам

Если вы даже немного знакомы с SSH, вы знаете, что можете использовать его для подключения к удаленным системам Linux.

Использовать SSH для подключения к удаленной системе очень просто. Все, что вам нужно сделать, это использовать такую команду:

ssh user@server_IP

 

Эта команда подключается к стандартному SSH-порту 22. Вы также можете указать порт, если хотите.

Теперь все просто и понятно, если у вас только один сервер. Даже если вы не помните IP-адрес сервера, вы можете выполнить обратный поиск в истории с помощью известного сочетания клавиш терминала Ctrl + R и найти команду SSH, которую вы использовали в прошлом.

Но все становится сложнее, когда у вас есть несколько серверов для управления. допустим у вас есть около десяти серверов, к которым вы время от времени подключаюсь. Некоторые из них являются производственными серверами, а некоторые – тестовыми.

Теперь отслеживать эти серверы нелегко. Даже если вы сможете найти команды SSH из истории, трудно угадать, какой IP принадлежит какому серверу.

Конечно, мы можем через панели получить IP-адрес или сохранить список в моей локальной системе.

Лучше и проще использовать конфигурационный файл SSH.

 

Использование файла конфигурации SSH для простого подключения к удаленным серверам

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

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

Позвольте нам показать вам, как его использовать.

 

Шаг 1: Создайте файл конфигурации SSH

При установке SSH у вас будет автоматически создан каталог ~/.ssh. Он будет содержать ваш открытый ключ, личный ключ и файл known_hosts. Ваша конфигурация также хранится здесь.

По крайней мере в Ubuntu файл конфигурации SSH не создается по умолчанию. Вы можете легко создать этот файл, используя команду touch следующим образом:

touch ~/.ssh/config

 

Шаг 2: Добавьте профиль SSH в файл конфигурации

Теперь, когда у вас есть файл конфигурации SSH, вы можете редактировать его с помощью Vim или Nano. Позвольте нам показать вам пример синтаксиса, которому вы должны следовать.

Допустим, вы подключаетесь к серверу с IP 213.159.210.151. Ваше имя пользователя -andreyex, а сервер используется для размещения вашего сайта. Чтобы повысить безопасность SSH, вы используете порт 1500 вместо стандартного порта SSH 22.

Вы можете добавить всю эту информацию следующим образом в ваш файл ~/.ssh/config:

Host website
        Hostname 213.159.210.151
        User andreyex
        Port 1500

 

Просто сохраните информацию в файле. Нет необходимости перезапускать какой-либо сервис.

Теперь, вместо того, чтобы писать длинную команду вроде этого:

ssh andreyex@213.159.210.151 -p 1500

 

Вы можете просто использовать эту команду (также работает завершение табуляции):

ssh website

 

Когда вы запускаете указанную выше команду, ssh ищет хост с именем website в ~/.ssh/config. Если он находит хост с таким именем, он получает всю информацию и использует его для установления SSH-соединения.

Вы можете спросить о нескольких вещах, поэтому мы упомянем это здесь:

 

Шаг 3: Добавление нескольких профилей в конфигурационный файл SSH

Предыдущий шаг дал вам представление о том, как добавить профиль SSH. Давайте перейдем к следующему шагу, добавив в него несколько профилей.

Вот как выглядит файл конфигурации SSH:

Host website
        Hostname 213.159.210.151
        User andreyex
        Port 1500
Host forum-server
        Hostname 275.128.172.47
        User andreyex

Host main-server
        Hostname 275.128.172.49

Host common-test-server
        Hostname test-server

Host *
        User root

 

На этот раз мы добавили четыре различных профиля SSH.

Вы заметили запись Host * в конце файла? Вы можете использовать эту запись для добавления параметра, общего для всех профилей, если этот параметр явно не был упомянут для профиля.

Поэтому, если мы попытаемся использовать профиль SSH основного сервера, он автоматически получит root-пользователя.

ssh main-server = ssh root@275.128.172.49

 

Порядок настройки SSH

Конфигурация ssh имеет следующий порядок:

Это означает, что первый приоритет отдается введенной вами команде, а затем она просматривается в ~/.ssh/config, а затем в/etc/ssh/ssh_config.

Итак, если вы хотите переопределить профиль, вы можете сделать это, используя опцию -o в команде ssh.

Например, если мы используем эту команду:

ssh -o "User=destroyer" website

 

Это займет пользователя destroyer вместо пользователя andreyex, как определено в ~/.ssh/config (на предыдущем шаге).

 

Конфигурация SSH намного больше

Честно говоря, в конфигурационном файле SSH есть еще много чего, что не может быть рассмотрено в одной статье. Вы можете использовать имя/IP соответствия, подсети.

Целью этой статьи было познакомить вас с конфигурацией SSH и помочь вам создать профили SSH для простого подключения к различным удаленным системам Linux.

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

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

Exit mobile version