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

Polnoe Rukovodstvo Po Fajlu Sshd Config Dla 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 содержит множество директив, которые также можно настроить. Давайте посмотрим на макет этого файла по умолчанию:

$ кошка / так далее / ssh / sshd_config


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

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

Порт 222
ListenAddress 0.0.0.0
ListenAddress ::
ХостКлюч / так далее / ssh / ssh_host_key
ServerKeyBits 768
ЛогинGraceTime 600

KeyRegenerationInterval 3600
РазрешитьRootВойти да
ИгнорироватьRhosts да
Строгие режимы да
X11Номер переадресации

AllowTcpForwarding нет
разрешитьTTY нет
X11DisplayOffset 10
PrintMotd да
KeepAlive да
АУТЕНТИФИКАЦИЯ SyslogFacility

ИНФОРМАЦИЯ об уровне журнала
RhostsАутентификация нет
RhostsRSAАутентификация нет
RSAАутентификация да
ПарольАутентификация да
AllowEmptyPasswords нет
CheckMail нет


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

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. Рекомендуется изменить этот номер порта на другое значение в тестовой среде. Это гарантирует нам постоянную доступность подключения к серверу.

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

$ sshd


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

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

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

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

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

$ судо / usr / сбин / sshd -f / так далее / ssh / sshd_config_new -п 100


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

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

$ / usr / мусорное ведро / ssh -п 100 < IP сервера >



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

$ / usr / мусорное ведро / ssh -п 100 127.0.0.1

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

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

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

$ / usr / сбин / sshd -п 100 -f / так далее / ssh / sshd_config_new


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

Вывод

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