JavaRush /Курсы /Docker SELF /Настройка SSH, диагностика сети с использованием `ping`, ...

Настройка SSH, диагностика сети с использованием `ping`, `netstat`, `dig`

Docker SELF
4 уровень , 5 лекция
Открыта

1. Настройка SSH-сервера

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

SSH (Secure Shell) — это инструмент для безопасного удалённого доступа к серверу. Он позволяет подключаться к серверу, управлять им как будто вы сидите за ним, а также передавать файлы.

Шаг 1: Установка SSH-сервера

Для начала установим сервер SSH. Если вы используете Ubuntu или Debian, выполните следующую команду:

sudo apt update
sudo apt install openssh-server -y

Если у вас Fedora или CentOS:

sudo yum install -y openssh-server

После установки убедитесь, что служба SSH запущена:

sudo systemctl start ssh
sudo systemctl enable ssh  # Чтобы SSH запускался автоматически при старте системы
sudo systemctl status ssh  # Проверяем статус сервиса

Если всё прошло успешно, вы увидите, что служба работает.

Шаг 2: Настройка SSH-сервера

Конфигурационный файл SSH-сервера находится по следующему пути:

sudo nano /etc/ssh/sshd_config

Некоторые из полезных параметров:

  • PermitRootLogin no — запрет логина под пользователем root.
  • PasswordAuthentication yes — включение аутентификации паролем.
  • PubkeyAuthentication yes — включение аутентификации с помощью ключей.

После внесения изменений перезапустите SSH:

sudo systemctl restart ssh

Теперь сервер готов принимать подключения.

Шаг 3: Подключение к серверу через SSH

С другой машины (или из локальной машины через localhost) попробуйте подключиться:

ssh your_username@your_server_ip

Если вы работаете локально, замените your_server_ip на 127.0.0.1. Введите пароль вашего пользователя, и вы окажетесь внутри системы через терминал.


2. Настройка аутентификации с помощью ключей

Парольная аутентификация — это удобно, но с точки зрения безопасности лучшим вариантом является использование SSH-ключей.

Шаг 1: Генерация SSH-ключей

На клиентской машине выполните команду:

ssh-keygen

Вас спросят, куда сохранить ключи. По умолчанию они сохранятся в директории ~/.ssh/. Просто нажмите Enter.

Шаг 2: Копирование ключа на сервер

Копируем публичный ключ на сервер:

ssh-copy-id your_username@your_server_ip

Теперь вы сможете подключаться без ввода пароля:

ssh your_username@your_server_ip

Если всё настроено правильно, поздравляем! Теперь ваш SSH-сервер защищён ключевой аутентификацией.


3. Диагностика сети с использованием ping

Мы уже знакомы с этой командой. Давайте быстро проверим доступность нашего SSH-сервера.

ping -c 4 your_server_ip

Вы должны увидеть ответ со стороны сервера. Если ответа нет, проверьте, запущен ли сервер и правильно ли настроен.


4. Проверка DNS с помощью nslookup и dig

Если ваш сервер имеет доменное имя, вы можете проверить его работоспособность через DNS. Например:

Команда nslookup:

nslookup your-domain.com

Вы должны увидеть IP-адрес, соответствующий вашему домену.

Команда dig:

Теперь попробуем получить полный набор информации:

dig your-domain.com

Вы увидите множество данных, но нас интересует строка с ANSWER SECTION, где будет указан IP-адрес.


5. Анализ сетевых соединений с netstat и ss

SSH-сервер слушает порт 22 по умолчанию. Проверим это с помощью netstat:

sudo netstat -tln | grep 22

Или с помощью ss, более современного инструмента:

sudo ss -tln | grep 22

Если вы видите, что порт 22 "LISTEN" (ожидает подключения), значит сервер готов принимать клиентов.


6. Проверка доступности порта с помощью nc

Команда netcat (или nc) позволяет тестировать доступность портов. Попробуем подключиться к нашему SSH-серверу:

nc -zv your_server_ip 22

Вы должны увидеть сообщение вроде "Connection to your_server_ip 22 port [tcp/ssh] succeeded!".

Если соединение не удалось, это может означать, что порт заблокирован брандмауэром или что сервер не слушает на указанном порту.


7. Практическое задание

Давайте теперь объединим всё в одном практическом сценарии. Вам потребуется:

  1. Включить SSH на своей машине или виртуальной среде, например, WSL2.
  2. Сгенерировать ключи и настроить авторизацию по ключам (запретив пароли).
  3. Подключиться к серверу через SSH.
  4. Использовать ping для проверки доступности сервера.
  5. Использовать nslookup и dig, чтобы проверить резолвинг IP-адреса (если у вас есть доменное имя).
  6. Проверить порт 22 на сервере с помощью netstat, ss и nc.

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

1
Задача
Docker SELF, 4 уровень, 5 лекция
Недоступна
Установка и настройка SSH-сервера
Установка и настройка SSH-сервера
1
Задача
Docker SELF, 4 уровень, 5 лекция
Недоступна
Подключение к SSH-серверу
Подключение к SSH-серверу
1
Задача
Docker SELF, 4 уровень, 5 лекция
Недоступна
Диагностика работы SSH и сети
Диагностика работы SSH и сети
1
Задача
Docker SELF, 4 уровень, 5 лекция
Недоступна
Настройка доступа по ключам и проверка
Настройка доступа по ключам и проверка
1
Опрос
Работа с сетью в Linux, 4 уровень, 5 лекция
Недоступен
Работа с сетью в Linux
Работа с сетью в Linux
Комментарии (1)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Ilya Klimchev Уровень 1
10 октября 2025
первая задача ппц. не учёл я видите ли другие сборки. Для винды ещё забыли проверить, чтобы скрипт работал. И в биосе тоже надо чтобы без ошибок отрабатывал...Автору задач нужно срочно перестать употреблять тяжёлые наркотики