Если вы даже немного знакомы с SSH, вы знаете, что можете использовать его для подключения к удаленным системам Linux.
Использовать SSH для подключения к удаленной системе очень просто. Все, что вам нужно сделать, это использовать такую команду:
ssh user@server_IP
Эта команда подключается к стандартному SSH-порту 22. Вы также можете указать порт, если хотите.
Теперь все просто и понятно, если у вас только один сервер. Даже если вы не помните IP-адрес сервера, вы можете выполнить обратный поиск в истории с помощью известного сочетания клавиш терминала Ctrl + R и найти команду SSH, которую вы использовали в прошлом.
Но все становится сложнее, когда у вас есть несколько серверов для управления. допустим у вас есть около десяти серверов, к которым вы время от времени подключаюсь. Некоторые из них являются производственными серверами, а некоторые – тестовыми.
Теперь отслеживать эти серверы нелегко. Даже если вы сможете найти команды SSH из истории, трудно угадать, какой IP принадлежит какому серверу.
Конечно, мы можем через панели получить IP-адрес или сохранить список в моей локальной системе.
Лучше и проще использовать конфигурационный файл SSH.
Файл конфигурации SSH позволяет создавать разные профили для разных конфигураций хоста. Для таких профилей нет ограничений, и вы можете добавить их сколько хотите.
Таким образом, если вы подключаетесь к нескольким удаленным системам через SSH, создание профилей SSH будет хорошим шагом для экономии вашего времени.
Позвольте нам показать вам, как его использовать.
При установке SSH у вас будет автоматически создан каталог ~/.ssh. Он будет содержать ваш открытый ключ, личный ключ и файл known_hosts. Ваша конфигурация также хранится здесь.
По крайней мере в Ubuntu файл конфигурации SSH не создается по умолчанию. Вы можете легко создать этот файл, используя команду touch следующим образом:
touch ~/.ssh/config
Теперь, когда у вас есть файл конфигурации 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-соединения.
Вы можете спросить о нескольких вещах, поэтому мы упомянем это здесь:
Предыдущий шаг дал вам представление о том, как добавить профиль 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/config, а затем в/etc/ssh/ssh_config.
Итак, если вы хотите переопределить профиль, вы можете сделать это, используя опцию -o в команде ssh.
Например, если мы используем эту команду:
ssh -o "User=destroyer" website
Это займет пользователя destroyer вместо пользователя andreyex, как определено в ~/.ssh/config (на предыдущем шаге).
Честно говоря, в конфигурационном файле SSH есть еще много чего, что не может быть рассмотрено в одной статье. Вы можете использовать имя/IP соответствия, подсети.
Целью этой статьи было познакомить вас с конфигурацией SSH и помочь вам создать профили SSH для простого подключения к различным удаленным системам Linux.
Вы всегда можете обратиться к man-странице ssh_config, чтобы узнать больше о параметрах, которые вы можете использовать при создании вашего конфигурационного файла SSH.
Мы надеемся, что этот совет SSH был полезен для вас. Если вы уже используете конфигурационный файл SSH и у вас есть полезный совет, поделитесь им с остальными в разделе комментариев.