Установка и настройка SSH-сервера в Linux

Установка и настройка SSH-сервера в Linux является одной из ключевых задач для удаленного управления сервером. SSH (Secure Shell) — это протокол, обеспечивающий безопасное шифрование данных, что позволяет безопасно подключаться к удаленным системам и управлять ими. В данной статье мы рассмотрим, как установить и настроить SSH-сервер на Linux, а также уделим внимание основным настройкам для повышения безопасности соединения.

Установка SSH-сервера в Linux

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

Установка SSH-сервера в Ubuntu и Debian

В дистрибутивах Ubuntu и Debian установка SSH-сервера осуществляется с помощью следующей команды:


 

bash

sudo apt update sudo apt install openssh-server

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


 

bash

sudo systemctl status ssh

Если сервер работает корректно, вы увидите соответствующее сообщение с пометкой «active (running)».

Установка SSH-сервера в CentOS и RHEL

Для пользователей дистрибутивов CentOS и RHEL установка SSH-сервера немного отличается. Необходимо воспользоваться командой:


 

bash

sudo yum install openssh-server

После успешной установки нужно запустить и активировать службу SSH:


 

bash

sudo systemctl start sshd sudo systemctl enable sshd

Теперь SSH-сервер работает, и вы можете подключаться к серверу удаленно.

Основные настройки SSH-сервера

После установки SSH-сервера необходимо выполнить его настройку для повышения безопасности и удобства использования. Основной файл конфигурации SSH-сервера находится по адресу /etc/ssh/sshd_config. Откройте этот файл любым текстовым редактором для редактирования:


 

bash

sudo nano /etc/ssh/sshd_config

Изменение порта по умолчанию

По умолчанию SSH-сервер использует порт 22. Однако рекомендуется изменить этот порт на нестандартный для повышения безопасности и снижения риска атак. Для этого найдите строку:


 

bash

#Port 22

И измените её, убрав комментарий и установив нужный порт, например:


 

yaml

Port 2222

После этого сохраните файл и перезапустите SSH-сервер для применения изменений:


 

bash

sudo systemctl restart sshd

Отключение входа с правами root

По умолчанию пользователи с правами root могут подключаться к серверу через SSH. Однако это создает риск несанкционированного доступа. Рекомендуется отключить вход для root, разрешив доступ только обычным пользователям с последующим использованием команды sudo для выполнения административных задач.

Для этого найдите строку:


 

bash

PermitRootLogin yes

И измените её на:


 

perl

PermitRootLogin no

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

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

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

Генерация ключевой пары

На локальном компьютере с операционной системой Linux или macOS выполните следующую команду для генерации ключевой пары:


 

bash

ssh-keygen -t rsa -b 4096

Команда создаст два файла: приватный и публичный ключ. Публичный ключ должен быть загружен на удаленный сервер, а приватный храниться в безопасности на вашем локальном устройстве.

Копирование публичного ключа на сервер

Для копирования публичного ключа на сервер используйте следующую команду:


 

bash

ssh-copy-id username@server_ip

Где username — это имя пользователя на сервере, а server_ip — IP-адрес сервера. После выполнения этой команды вы сможете подключаться к серверу без ввода пароля.

Отключение аутентификации по паролю

После успешной настройки аутентификации по ключам можно отключить возможность аутентификации по паролю для повышения безопасности. Для этого в файле /etc/ssh/sshd_config найдите строку:


 

bash

PasswordAuthentication yes

И измените её на:


 

perl

PasswordAuthentication no

После этого сохраните изменения и перезапустите SSH-сервер:


 

bash

sudo systemctl restart sshd

Теперь аутентификация по паролю отключена, и доступ к серверу возможен только через ключевые пары.

Дополнительные меры безопасности

Ограничение доступа по IP

Для дополнительной защиты можно ограничить доступ к SSH-серверу только с определенных IP-адресов. Это можно сделать с помощью файрвола, например, с использованием ufw в Ubuntu. Для разрешения подключения только с конкретного IP выполните:


 

bash

sudo ufw allow from <ваш_IP_адрес> to any port 22

Настройка Fail2Ban

Fail2Ban — это инструмент, который автоматически блокирует IP-адреса, с которых были зафиксированы неудачные попытки авторизации. Установите его с помощью команды:


 

bash

sudo apt install fail2ban

После установки настройте его конфигурацию в файле /etc/fail2ban/jail.local, добавив секцию для защиты SSH:


 

makefile

[sshd] enabled = true port = 2222 logpath = %(sshd_log)s maxretry = 3

Теперь при попытках брутфорс-атаки на SSH-сервер Fail2Ban будет блокировать злоумышленников.

Заключение

Настройка и установка SSH-сервера в Linux — это важный шаг для обеспечения безопасного удаленного доступа к серверу. Следуя рекомендациям по изменению порта, отключению входа для root-пользователей и настройке аутентификации по ключам, можно значительно повысить уровень безопасности системы. Не забывайте также использовать дополнительные меры защиты, такие как Fail2Ban и ограничение доступа по IP-адресам, чтобы минимизировать риски несанкционированного доступа.

Категория: Настройка операционных систем | Добавил: mintheg1 (05.09.2024)
Просмотров: 16 | Рейтинг: 0.0/0
Всего комментариев: 0