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

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

Как настроить и использовать OpenSSH на CentOS 7

Когда пользователю необходимо часто обращаться к удаленным серверам с использованием протокола SSH, тогда пользователю потребуется запомнить IP-адреса, имена пользователей, различные номера портов и параметры командной строки. Но это не эффективный способ решения задач. Эту проблему можно решить несколькими способами. Пользователь может создать команду псевдонима bash для удаленного подключения, которую легче запомнить. Другое решение – создать файл конфигурации SSH для каждого пользователя, чтобы сохранить различные параметры SSH для разных удаленных систем. Использование файлов конфигурации SSH для регулярного доступа к удаленным серверам показано в этом руководстве.

 

Предпосылки

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

Включите службу SSH в Ubuntu, если она не была включена ранее.

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

$ ssh-keygen -t rsa

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

$ sudo nano /etc/ssh/sshd_config

Добавьте в файл следующие строки, чтобы включить учетную запись root и аутентификацию на основе пароля.

PasswordAuthentication yes
PermitRootLogin yes

Выполните следующую команду, чтобы перезапустить службу SSH.

$ sudo service ssh restart

Общие параметры конфигурации SSH

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

Вариант Цель
HostName Он используется для определения имени хоста или IP-адреса вашего удаленного сервера. Если идентификатор хоста определяет исходное имя хоста, его не требуется устанавливать.
User Он используется для установки имени пользователя удаленного сервера.
Port Он используется для определения номера порта, который используется для прослушивания соединения с сервером. Номер порта по умолчанию – 22.
Compression Сжатие будет использоваться, если установлено значение «Yes». Значение этого параметра по умолчанию – нет.
ForwardX11 Он используется для автоматического перенаправления соединения X11 через защищенный канал и набор DISPLAY. Значение этой опции может быть да или нет. Значение по умолчанию – нет.
IdentityFile Он используется для указания пути открытого ключа, который клиент SSH будет использовать для аутентификации.
LogLevel Используется для определения уровня детализации, который используется при регистрации сообщений от ssh. Значения этой опции могут быть QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 и DEBUG3. Значение по умолчанию – INFO.
ServerAliveCountMax Он используется для установки количества активных сообщений сервера.
ServerAliveInterval Он используется для установки интервала тайм-аута в секундах, по истечении которого не было получено ответа от сервера. Значение по умолчанию для этой опции – 0, что означает, что сообщение не будет отправлено на сервер.

 

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

Вы можете использовать клиентский файл конфигурации по умолчанию для установки значений конфигурации, а путь к файлу – /etc/ssh/ssh_config. Он содержит настройки, которые применимы для всех пользователей клиента SSH. Но если вы хотите применить настройку для конкретного пользователя, лучше использовать настраиваемый файл конфигурации, применимый к этому пользователю. Как использовать настраиваемый файл конфигурации на стороне клиента было показано в следующей части этой статьи.

 

Создание файла конфигурации SSH для конкретного пользователя

Создайте папку с именем .ssh внутри домашнего каталога пользователя-клиента и создайте файл конфигурации с именем config со следующим содержимым внутри этой папки. Здесь были определены три типа хостов. Первый хост – это «andreyex», а имя хоста – «destr». Он будет подключаться к серверу SSH, используя порт по умолчанию, 22. Второй хост – «andreyex.ru», а имя хоста – это IP-адрес. Для параметра ForwardX11 установлено значение «Yes» для второго хоста, что означает, что он будет автоматически перенаправлять соединение X11 по защищенному каналу. Параметры третьего хоста определены для всех хостов. Значение IP-адреса s, параметры port number, IndentityFile, compression, ServerAliveInterval, и ServerAliveCountMax были определены в третьем хосте. Параметр IdentifyFile определил расположение открытого ключа. Параметр сжатия был определен для сжатия данных. Параметры ServerAliveInterval и ServerAliveCountMax были определены для увеличения времени соединения SSH.

Host andreyex
HostName destr

Host andreyex.ru
HostName 10.0.2.15
ForwardX11 yes

Host *
User Ubuntu
HostName 10.0.2.15
Port 22
IdentityFile ~/.ssh/id_rsa
Compression yes
ServerAliveInterval 60
ServerAliveCountMax 20

Запустите команду SSH для разных хостов

Выполните следующую команду ssh, чтобы подключиться к хосту andreyex и имени хоста destr. Здесь параметр -i использовался с командой ssh, чтобы указать путь к открытому ключу.

$ ssh -i ~/.ssh/id_rsa andreyex@andreyex

 

Следующий вывод появится, если SSH-соединение с сервером установлено правильно.

Выполните следующую команду ssh, чтобы подключиться к хосту, andreyex и IP-адресу. Здесь параметр -i использовался с командой ssh для указания пути к открытому ключу, а параметр -p использовался для определения номера порта.

$ ssh -i ~/.ssh/id_rsa -p 22 andreyex@10.0.2.15

 

Следующий вывод появится, если SSH-соединение с сервером установлено правильно.

Выполните следующую команду ssh без какой-либо опции для подключения к хосту, andreyex, и имени хоста, andreyex.ru.

$ ssh andreyex@andreyex.ru

 

Следующий вывод появится, если SSH-соединение с сервером установлено правильно.

 

Заключение

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

Exit mobile version