🖧 Как использовать конфигурационный файл SSH

Мануал

Secure Shell (SSH) – один из наиболее часто используемых и защищенных способов подключения к удаленному серверу.

Подключиться к удаленному серверу с помощью SSH легко, но что если вы хотите подключаться к разным серверам и делаете это часто.

Становится трудно запоминать все IP-адреса, имена пользователей, команды и пароли.

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

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

Вы можете настраивать и конфигурировать параметры соединения на стороне клиента и хранить информацию о каждом удаленном сервере, с которым вы соединяетесь.

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

С помощью файла конфигурации SSH вы можете определять и хранить настройки для конкретных удаленных машин.

Это избавляет от необходимости отслеживать каждую информацию, такую как пароль, имя пользователя, IP-адрес и т.д., необходимую для соединения с удаленным сервером.

Где находится файл конфигурации SSH

Итак, как мы уже говорили, в SSH доступны два типа конфигурационных файлов – общесистемные и пользовательские (Custom).

И их расположение следующее:

  1. Общесистемный конфигурационный файл: Этот файл в основном содержит информацию по умолчанию, которая применяется ко всем пользователям системы, и вы можете найти его по адресу /etc/ssh/ssh_config.
  2. Конфигурационный файл для конкретного пользователя или пользовательский конфигурационный файл: Этот файл конфигурации специфичен для конкретного пользователя, и в этой статье мы сосредоточимся на этом файле.

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

Клиентский или пользовательский файл конфигурации хранится в домашнем каталоге пользователя в директории ~/.ssh.

Вы найдете его здесь – ~/.ssh/config или $HOME/.ssh/config

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

Поэтому вы можете создать его с помощью этой команды:

touch ~/.ssh/config 

Также, если вы не нашли каталог ~/.ssh, вы можете создать его с помощью этой команды:

mkdir -p ~/.ssh
chmod 0700 ~/.ssh  

Понимание структуры конфига SSH

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

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

Формат файла будет выглядеть следующим образом:

Host Host1
    ssh_option1 Value Custom Value
    ssh_option2 Value Custom Value
    ssh_option3 Value  Custom Value

Host Host2
    ssh_value Value Custom Value

Host *
    Ssh_option Value Custom Value

Как работает конфигурационный файл SSH

Обычно, если вы хотите подключиться к удаленному серверу, вы используете эту команду:

ssh -i ~/.ssh/id_rsa -p 22 hostname@IPaddress 

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

Поэтому с помощью конфигурационного файла вы можете подключаться с помощью одной команды.

ssh hostname 

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

Итак, давайте разберемся, как работает конфигурационный файл.

Например, если вы выполните следующую команду:

ssh Host1 

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

Как только SSH найдет соответствие для Host1, он проверит и другие хосты, если есть другие похожие совпадения.

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

Использование конфигурационного файла SSH

Теперь мы знаем, что такое конфиг SSH и как он работает.

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

Откройте файл конфигурации в редакторе.

vi ~/.ssh/config 

В нем можно задать имя пользователя, IP-адрес и значение порта.

Например:

Host Itsecforu
         HostName 192.167.54.19
         Port 2222
         Forwardx11 no

Host *
         User itsecforu
         IdentityFile ~/.ssh/id_rsa
         Protocol 2
         Compression yes
         ServerAliveInterval 60
         ServerAliveCountMax 20
         LogLevel Info

Объяснение значений, используемых в файле:

  • HostName: IP-адрес узла удаленного сервера, в который вы хотите войти.
  • User: Имя пользователя, под которым вы будете входить в систему.
  • Port: Порт, к которому вы хотите подключиться на удаленном сервере.
  • Protocol: Версия протокола SSH, которую следует предпочесть. Вы можете ввести несколько значений, разделенных запятой.
  • IdentityFile: Расположение файла, содержащего идентификаторы RSA, ECDSA и DSA аутентификации пользователя.
  • ForwardX11: Позволяет пробросит иксы удаленного сервера на вашей машине.
  • Compression Вы хотите использовать сжатие во время соединения с удаленным сервером или нет. Включение этого параметра может быть полезным для вас, если у вас медленное соединение.
  • ServerAliveinterval: Используется для установки таймера в секундах для соединения с сервером, и в течение заданного времени, если ответ от сервера не получен, ssh отправит сообщение с запросом ответа.
  • ServerAliveCountMax: Устанавливает количество сообщений, которые должны быть отправлены для запроса ответа от сервера.
  • LogLevel: Указывает уровень логов, используемый при ведении журнала.

Заключение

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

Вам не нужно запоминать множество имен хостов, ip-адресов и портов.

см. также:

🛡️ Как обезопасить и защитить сервер OpenSSH

Как защитить ssh в CentOS / RHEL / Fedora

🖧 Как включить переадресацию портов SSH на Linux

🔥 Как настроить SSH ловушку на Ubuntu сервере

 

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