Введение
В этом практическом занятии (лабораторной работе) вы научитесь проверять, запущен ли SSH-сервер на системе Linux. Вы будете использовать команду systemctl status ssh для проверки состояния запущенного сервиса, команду ss -tuln для проверки, открыт ли и прослушивается ли порт SSH, а также команду cat /etc/ssh/sshd_config для изучения файла конфигурации SSH-сервера. Эти шаги являются основой для устранения неполадок и проверки функциональности SSH-сервера.
Проверка SSH - сервиса с помощью команды systemctl status ssh
На этом шаге вы научитесь проверять статус SSH-сервиса на своей системе Linux. SSH (Secure Shell) - это протокол, используемый для безопасного подключения к удаленному компьютеру. Это фундаментальный инструмент для системного администрирования и разработки.
В Linux сервисы, такие как SSH, часто управляются с помощью systemd - системного и сервисного менеджера. Команда systemctl используется для взаимодействия с systemd.
Для проверки статуса SSH-сервиса вы будете использовать команду systemctl status, за которой следует имя сервиса, в данном случае ssh.
Если терминал еще не открыт, откройте его. Вы можете найти значок Xfce Terminal слева на рабочем столе.
Введите следующую команду в терминал и нажмите Enter:
systemctl status ssh
Вы увидите вывод, похожий на следующий:
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since ...
Docs: man:sshd(8)
man:ssh(1)
Main PID: ... (sshd)
Tasks: 1 (limit: ...)
Memory: ...
CPU: ...
CGroup: /system.slice/ssh.service
└─... /usr/sbin/sshd -D
...
Разберем важные части вывода:
● ssh.service: Это имя сервиса.Loaded: loaded (...): Указывает, что файл конфигурации сервиса был загруженsystemd.Active: active (running): Это самая важная часть. Она сообщает, что SSH-сервис в настоящее время запущен. Если он был остановлен, здесь отобразилось бы что-то вродеinactive (dead).since ...: Показывает, когда сервис был запущен.Main PID: ... (sshd): Идентификатор процесса основного SSH-демона (sshd).
Эта команда является важной для устранения проблем с сетевым подключением или проверки того, что сервис работает как ожидается.
Нажмите Продолжить, чтобы перейти к следующему шагу.
Проверка порта SSH с помощью команды ss -tuln
На этом шаге вы научитесь проверять, какие сетевые порты открыты и прослушиваются на вашей системе. Это важно для понимания, как можно получить доступ к таким сервисам, как SSH.
Команда ss - это утилита для исследования сокетов. Сокеты - это конечные точки для отправки и приема данных по сети. Мы будем использовать ss с несколькими параметрами для фильтрации вывода:
-t: Отображать TCP - сокеты. SSH использует протокол TCP.-u: Отображать UDP - сокеты.-l: Отображать прослушивающие сокеты. Это сокеты, которые ожидают входящих подключений.-n: Не разрешать имена сервисов. Это показывает номера портов вместо имен, таких какsshилиhttp.
Объедините эти параметры, чтобы увидеть все прослушивающие TCP - и UDP - порты с их числовыми значениями.
Введите следующую команду в терминал и нажмите Enter:
ss -tuln
Вы увидите вывод, в котором перечислены различные прослушивающие порты. Найдите строку, связанную с SSH, которая обычно прослушивает порт 22. Вывод может выглядеть примерно так (точный порядок и другие порты могут отличаться):
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
tcp LISTEN 0 128 [::]:22 [::]:*
udp UNCONN 0 0 127.0.0.53%lo:53 0.0.0.0:*
udp UNCONN 0 0 0.0.0.0:68 0.0.0.0:*
В этом выводе:
Netid: Сетевой протокол (tcp или udp).State: Состояние сокета (LISTENозначает, что он ожидает подключений).Local Address:Port: Локальный IP - адрес и номер порта, на котором сервис прослушивает.0.0.0.0означает, что он прослушивает на всех доступных IPv4 - адресах, а[::]означает, что он прослушивает на всех доступных IPv6 - адресах.Peer Address:Port: Адрес и порт удаленного подключения (для прослушивающих сокетов это*).
Вы должны увидеть строки, указывающие, что TCP - порт 22 находится в состоянии LISTEN. Это подтверждает, что SSH - сервис запущен и готов принимать подключения на стандартном SSH - порту.
Понимание того, как проверять открытые порты, является фундаментальным навыком для устранения сетевых проблем и обеспечения безопасности.
Нажмите Продолжить, чтобы перейти к следующему шагу.
Проверка конфигурации SSH с помощью команды cat /etc/ssh/sshd_config
На этом последнем шаге вы рассмотрите главный файл конфигурации SSH - сервера. Этот файл содержит настройки, которые контролируют поведение SSH - сервиса, например, на каком порту он прослушивает, какие пользователи могут подключаться и какие параметры безопасности применяются.
Файл конфигурации SSH - демона (sshd) обычно находится по пути /etc/ssh/sshd_config. Каталог /etc - это место, где хранятся системные файлы конфигурации.
Для просмотра содержимого этого файла вы можете использовать команду cat. cat - это простая команда, которая последовательно читает файлы и выводит их в стандартный вывод (ваш терминал).
Введите следующую команду в терминал и нажмите Enter:
cat /etc/ssh/sshd_config
Вы увидите весь контент файла sshd_config, напечатанный в вашем терминале. Вывод будет содержать много строк, некоторые из которых начинаются с # (это комментарии, которые игнорируются системой), а другие определяют параметры конфигурации.
Найдите строки, которые не закомментированы (не начинаются с #). Некоторые важные директивы, которые вы можете увидеть, включают:
Port 22: Это указывает порт, на котором SSH - сервер прослушивает. По умолчанию это порт 22.ListenAddress 0.0.0.0: Указывает IPv4 - адрес, на котором сервер прослушивает.ListenAddress ::: Указывает IPv6 - адрес, на котором сервер прослушивает.PermitRootLogin prohibit - password: Контролирует, может ли пользователь root входить напрямую через SSH.PasswordAuthentication yes: Контролирует, разрешена ли аутентификация по паролю.
## This is the sshd server system configuration file.
## See sshd_config(5) for more information.
## The systemd service file for sshd uses EnvironmentFile to load
## the SSHD_CONFIG environment variable, setting this to /etc/ssh/sshd_config.
## ...
Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key
#HostKey /etc/ssh/ssh_host_ecdsa_key
#HostKey /etc/ssh/ssh_host_ed25519_key
## Ciphers and keying
#...
## Authentication:
LoginGraceTime 2m
PermitRootLogin prohibit-password
StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
#PubkeyAuthentication yes
## Expect .ssh/authorized_keys2 to be disregarded by default in future.
#AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
#IgnoreRhosts yes
#RhostsRSAAuthentication no
#HostbasedAuthentication no
#...
PasswordAuthentication yes
#PermitEmptyPasswords no
ChallengeResponseAuthentication no
#...
Чтение таких файлов конфигурации является важным навыком для понимания и управления сервисами Linux. Хотя в этом лабораторном занятии вы не будете изменять файл, знание о его расположении и способе просмотра его содержимого очень полезно.
Теперь вы успешно проверили статус SSH - сервиса, убедились в том, какой порт он прослушивает, и рассмотрели его файл конфигурации. Вы получили ценный опыт работы с основными командами Linux для управления сервисами и сетевым анализом.
Нажмите Продолжить, чтобы завершить лабораторное занятие и увидеть свой прогресс!
Резюме
В этом лабораторном занятии вы научились проверять, запущен ли SSH - сервер на системе Linux. Вы использовали команду systemctl status ssh для проверки активного состояния сервиса и понимания важных деталей, таких как его загруженное состояние, активное состояние и идентификатор процесса. Эта команда является важной для подтверждения работоспособности SSH - сервиса.
Вы также научились проверять порт SSH с помощью команды ss -tuln и просматривать файл конфигурации SSH, расположенный по пути /etc/ssh/sshd_config, с использованием команды cat. Эти шаги дают дополнительное понимание сетевой конфигурации и настроек SSH - сервера.



