Поиск по сайту:
В одиночестве каждый видит в себе то, что он есть на самом деле (А. Шопенгауэр).

Полное руководство по файлу Sshd_Config для Linux

30.11.2022
Полное руководство по файлу Sshd_Config для Linux

Протокол SSH или Secure Shell используется для удаленного входа в систему и выполнения команд на удаленной машине. Данные, которые передаются по протоколу SSH, шифруются специальными алгоритмами, что делает SSH более безопасным, чем Telnet. По сути, OpenSSH — это инструмент, который реализует этот протокол.

 

Что мы расскажем?

В этой статье мы рассмотрим различные аспекты файла конфигурации сервера OpenSSH. Давайте начнем сейчас.

 

Файлы конфигурации OpenSSH

Есть несколько основных файлов как для клиента OpenSSH, так и для сервера. Он имеет два типа файлов конфигурации:

1. Файлы, относящиеся к клиентской части: Один из файлов — ssh_config. Это общесистемный файл конфигурации. Этот файл находится в /etc/ssh/ssh_config.

Другой файл — это config, который представляет собой пользовательский файл конфигурации, расположенный в $HOME/.ssh/config.

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

2. sshd_config: относится к серверной части. Сервер OpenSSH читает этот файл при запуске.

 

Изучение файла конфигурации sshd

Конфигурационный файл sshd содержит множество директив, которые также можно настроить. Давайте посмотрим на макет этого файла по умолчанию:

$ cat /etc/ssh/sshd_config

 

# Это общесистемный файл конфигурации сервера sshd. Смотреть

# sshd_config(5) для получения дополнительной информации.

 

Port 222
ListenAddress 0.0.0.0
ListenAddress ::
HostKey /etc/ssh/ssh_host_key
ServerKeyBits 768
LoginGraceTime 600

KeyRegenerationInterval 3600
PermitRootLogin yes
IgnoreRhosts yes
StrictModes yes
X11Forwarding no

AllowTcpForwarding no
PermitTTY no
X11DisplayOffset 10
PrintMotd yes
KeepAlive yes
SyslogFacility AUTH

LogLevel INFO
RhostsAuthentication no
RhostsRSAAuthentication no
RSAAuthentication yes
PasswordAuthentication yes
PermitEmptyPasswords no
CheckMail no

 

Читать  Поиск доступных команд Linux с помощью apropos

Любая строка, начинающаяся с «#», воспринимается как комментарий. Давайте рассмотрим некоторые из заданных параметров:

1. Директива Port указывает номер порта. Это номер порта, на котором sshd прослушивает соединения. Значение по умолчанию для этого порта — 22, что является стандартным. Однако в нашем случае мы изменили его на 222.

Кроме того, мы можем указать более одной директивы Port. Таким образом, мы можем использовать несколько портов для прослушивания соединений sshd.

2. ListenAddress содержит IP-адрес для прослушивания. Действие по умолчанию — прослушивание всех IP-адресов, привязанных к серверу. Также обратите внимание, что директива Port должна следовать за директивой ListenAddress.

3. Полный путь к файлу частного ключа хоста RSA задается директивой HostKey. В предыдущем случае это был путь /etc/ssh/ssh_host_key.

4. Директива PermitRootLogin разрешает вход root для sshd, если для нее установлено значение yes. Для этого следует установить значение no, если только файлы hosts.allow и hosts.deny не используются для ограничения доступа к sshd.

5. Директива X11Forwarding разрешает переадресацию системы X Window, если установлено значение yes.

6. Какое средство системного журнала, которое должен использовать sshd , указывается с помощью директивы SyslogFacility. Оставьте значение по умолчанию как есть.

7. Уровень ведения журнала для системного журнала указывается с помощью директивы LogLevel.

 

Изменение порта sshd

По умолчанию демон сервера sshd или OpenSSH использует порт 22 протокола TCP. Рекомендуется изменить этот номер порта на другое значение в тестовой среде. Это гарантирует нам постоянную доступность подключения к серверу.

Читать  Команды Linux. Использование Namei

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

$ sshd -t

 

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

Если при выполнении предыдущей команды проверки синтаксиса вывод не появляется, это означает, что с файлом все в порядке.

 

Изменение файла конфигурации и порта по умолчанию

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

Давайте создадим новый файл sshd_config как sshd_config_new. Этот файл может использоваться для некоторых других параметров сервера. Теперь давайте укажем, что этот файл будет считаться новым файлом конфигурации сервера на порту номер 100:

$ sudo /usr/sbin/sshd -f /etc/ssh/sshd_config_new -p 100

 

Демон sshd теперь прослушивает порт 100. Мы можем использовать любое значение порта, но не то, которое уже используется.

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

$ /usr/bin/ssh -p 100 <ip of the server>

 

Читать  Как защитить SSH-сервер в Ubuntu 20.04 от базового до расширенного

Параметр «-p» указывает порт 100, который будет использоваться на удаленном сервере. Если мы тестируем локально, мы можем использовать IP-адрес сервера в качестве IP-адреса локального хоста:

$ /usr/bin/ssh -p 100 127.0.0.1

 

Устранение неполадок с конфигурацией OpenSSH

Иногда наш сервер не работает должным образом. В таких случаях мы можем использовать флаг «-d» для устранения неполадок в конфигурации сервера OpenSSH. Используя флаг «-d», сервер входит в режим отладки и обрабатывает только одно соединение.

Вывод, который создается в режиме отладки, является подробным. Мы можем использовать больше флагов «-d», чтобы повысить уровень отладки. Давайте запустим команду отладки на нашем сервере, используя новый файл конфигурации:

$ /usr/sbin/sshd -d -p 100 -f /etc/ssh/sshd_config_new

 

Выходные данные предыдущей команды регистрируются в stderr вместо использования средства AUTH syslogd.

 

Вывод

Демон OpenSSH или sshd является важной частью многих инфраструктур администрирования. Таким образом, для оптимальной работы требуется опыт. В этой статье мы узнали о файле конфигурации сервера OpenSSH, таком как sshd_config.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
За пару дней до официального объявления просочилась информация о декабрьских…

Спасибо!

Теперь редакторы в курсе.