WindowsMacПрограммное обес..НастройкиБезопасностьАндроид (Androi..ПродуктивностьЛинукс Все

Как настроить SSH сервер на Ubuntu

Отредактировано 2 Несколько недель назад от ExtremeHow Редакционная команда

SSHСерверУбунтуЛинуксСетевые подключенияБезопасностьНастройкаОперационные системыУдалённый доступСистема

Как настроить SSH сервер на Ubuntu

Перевод обновлен 4 Несколько недель назад

Введение

Настройка SSH сервера на Ubuntu является важным шагом для удаленного администрирования и передачи файлов. SSH, или Secure Shell, это криптографический сетевой протокол, который обеспечивает безопасную передачу данных по незащищенной сети. Он используется для удаленного входа на машину и выполнения команд, а также для передачи файлов между машинами в сети. В этом руководстве мы проведем вас через процесс настройки SSH сервера на системе Ubuntu.

Шаг 1: Обновление системных пакетов

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

sudo apt update

Команда sudo используется для выполнения команд с повышенными привилегиями, которые обычно требуются для выполнения задач администрирования системы. Команда apt update обновляет список доступных пакетов из репозитория пакетов, гарантируя доступ к последним версиям.

Шаг 2: Установка OpenSSH Server

Пакет SSH сервера Ubuntu называется OpenSSH Server. Это один из наиболее используемых пакетов SSH сервера в экосистеме Linux благодаря своей простоте, безопасности и надежности. Чтобы установить OpenSSH Server, выполните следующую команду в терминале:

sudo apt install openssh-server

Эта команда загрузит пакет OpenSSH Server из репозитория пакетов Ubuntu и установит его на вашей системе. Во время установки менеджер пакетов автоматически запустит SSH службу.

Шаг 3: Проверка статуса SSH службы

После установки OpenSSH сервера вы захотите убедиться, что SSH служба работает правильно. Используйте следующую команду, чтобы проверить статус SSH службы:

sudo systemctl status ssh

Команда systemctl используется для проверки статуса системных единиц, включая службы. При проверке статуса SSH службы вы должны увидеть сообщение, указывающее, что служба "active (running)". Если она не работает, вы можете запустить ее с помощью следующей команды:

sudo systemctl start ssh

Если вы хотите, чтобы SSH служба запускалась автоматически при загрузке, используйте следующую команду:

sudo systemctl enable ssh

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

Файл конфигурации SSH сервера находится в /etc/ssh/sshd_config. Этот файл управляет различными параметрами SSH сервера, включая номера портов, алгоритмы обмена ключами и методы аутентификации. Важно настроить этот файл в соответствии с вашими потребностями в безопасности и доступе.

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

По умолчанию, SSH сервер прослушивает порт 22. Однако изменение порта по умолчанию на нестандартный порт может помочь обеспечить еще один уровень безопасности. Чтобы изменить порт, откройте файл конфигурации SSH с помощью текстового редактора, например:

sudo nano /etc/ssh/sshd_config

Найдите строку #Port 22 и измените ее следующим образом:

Port 2222

Удалите # в начале, чтобы раскомментировать строку. Убедитесь, что выбранный вами порт не используется другими службами.

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

Разрешение входа под root через SSH может представлять угрозу безопасности. Рекомендуется отключить его, найдя следующую строку:

PermitRootLogin yes

И изменив ее следующим образом:

PermitRootLogin no

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

Включение аутентификации с использованием открытого ключа

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

PubkeyAuthentication yesAuthorizedKeysFile .ssh/authorized_keys

Эта настройка позволяет клиентам аутентифицироваться, используя SSH ключи, хранящиеся в файле ~/.ssh/authorized_keys учетных записей пользователей.

Шаг 5: Перезапуск SSH службы

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

sudo systemctl restart ssh

Обратите внимание, что если вы изменили порт, вы должны указать новый порт при подключении через SSH. Например, если вы изменили порт SSH на 2222, используйте ssh user@hostname -p 2222.

Шаг 6: Настройка правил брандмауэра

Если на вашем сервере Ubuntu включен брандмауэр, вам необходимо разрешить входящие соединения SSH. Предполагая, что вы используете UFW (Uncomplicated Firewall), вы можете включить брандмауэр и разрешить SSH трафик с помощью следующей команды:

sudo ufw allow sshsudo ufw enable

Если вы изменили порт по умолчанию SSH, замените ssh номером порта, например:

sudo ufw allow 2222

Эта команда корректирует правила брандмауэра, разрешая SSH трафик на указанном порту.

Шаг 7: Тестирование SSH сервера

Чтобы убедиться, что ваш SSH сервер настроен правильно, попробуйте подключиться к нему с другой машины (либо другого компьютера, либо виртуальной машины). Используйте команду:

ssh username@server_ip

Замените username своим фактическим именем пользователя на сервере и замените server_ip IP-адресом или именем хоста вашего сервера. Если вы изменили порт, вы должны указать его, используя опцию -p, например:

ssh username@server_ip -p 2222

Если соединение успешно, появится приглашение на вход, позволяющее вам войти на сервер через SSH.

Шаг 8: Повышение безопасности SSH

Важно дополнительно повысить безопасность вашей настройки SSH, чтобы предотвратить несанкционированный доступ. Вот несколько советов:

Использование Fail2Ban

Fail2Ban это программа, которая помогает предотвратить атаки методом подбора, отслеживая неудачные попытки входа. Установите ее, используя следующую команду:

sudo apt install fail2ban

По умолчанию Fail2Ban блокирует IP-адреса на 10 минут после 3 неудачных попыток входа. Вы можете настроить эти параметры, редактируя файл конфигурации, расположенный в /etc/fail2ban/jail.local.

Ограничение доступа пользователей

Рассмотрите возможность разрешения доступа по SSH только определенным пользователям. Вы можете сделать это, добавив следующую строку в ваш файл sshd_config:

AllowUsers user1 user2

Замените user1 и user2 фактическими именами пользователей, которым вы хотите разрешить доступ по SSH.

Следуя этим шагам, вы сможете эффективно настроить и обезопасить SSH сервер на вашей системе Ubuntu. Эта настройка обеспечивает надежную и безопасную среду для удаленного управления системой и защищенной передачи файлов. Не забывайте всегда обновлять вашу систему и SSH сервер, чтобы предотвратить уязвимости.

Если вы найдете что-то неправильное в содержании статьи, вы можете


Комментарии