Раздел помощи SpaceWeb

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

20 май, 2024

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

В этой статье мы рассмотрим, как установить и настроить SSH-сервер на Debian.

Как установить SSH на Debian

Как установить OpenSSH 

OpenSSH (Open Secure Shell) – это набор сетевых утилит, которые обеспечивают зашифрованное взаимодействие между устройствами по сети. Основная цель OpenSSH – улучшить безопасность удалённого управления посредством ввода команд на удалённой машине и перемещения файлов между различными компьютерами. OpenSSH – это один из наиболее широко используемых и надёжных средств для управления серверами и другими устройствами.

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

Если вам необходимо установить SSH-сервер и SSH-клиент заново, вот как это можно сделать:

  1. Откройте терминал через меню «Пуск» или используя комбинацию клавиш Ctrl+Alt+T, что позволит вам запустить терминал для дальнейших действий.
  2. Для установки серверной части SSH пропишите команду: 
sudo apt install openssh-server

  1. Нажмите Enter, чтобы выполнить команду.
  2. В процессе установки система запросит ввод пароля суперпользователя

Важно! Обратите внимание, что символы пароля не будут отображаться на экране в целях безопасности.

  1. Как только вы введёте установка начнётся установка, и вы получите уведомление о том, что необходимые пакеты добавлены или обновлены. 

Если SSH-сервер уже был установлен, система сообщит о наличии этого пакета. 

  1. Затем вам нужно будет установить клиентскую часть OpenSSH Server Debian, что позволит вашему компьютеру подключаться к другим машинам с использованием SSH. Для этого пропишите команду: 
sudo apt install openssh-client

  1. После установки клиентской части, не требуется дополнительная установка компонентов. Однако вы можете проверить, работает ли SSH-сервер, прописав:
sudo systemctl status ssh

Если всё успешно установилось, вы увидите запись active (running):

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

Настройка SSH Debian


Смена порта для OpenSSH

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

Причины для смены порта:

  • Безопасность. Сканирующие боты часто автоматически обращаются к порту 22, пытаясь осуществить взлом через подбор паролей. Поменяв порт, вы делаете сервер менее очевидной целью.
  • Доступность. Если порт 22 уже занят другой службой, например, веб-сервером, использование стандартного порта для SSH может вызвать конфликты.

Шаги по изменению порта SSH:

  1. Откройте терминал на вашем компьютере для доступа к командной строке.
  2. Прежде чем вносить изменения, создайте резервную копию файла конфигурации SSH:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_back 

  1. Откройте текстовый редактор для изменения файла конфигурации:
sudo nano /etc/ssh/sshd_config 

  1. Найдите строку, начинающуюся с #Port 22

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

  1. После внесения изменений в файл сохраните их, нажав Ctrl + O, затем Enter.
  2. Закройте редактор, нажав Ctrl + X.
  3. Примените изменения, перезагрузив SSH-сервер:
sudo systemctl restart sshd 

  1. Теперь для подключения к серверу используйте новый порт:
ssh user@host -p новый_порт 

Где: 

  • user – имя пользователя, 
  • host – адрес сервера, 
  • новый_порт – номер нового порта, который вы указали ранее.

Как отключить вход для суперпользователя OpenSSH по паролю

Отключение возможности удалённого доступа для суперпользователя (root) через SSH – это важная мера безопасности. Боты и злоумышленники часто пытаются использовать логин суперпользователя для подбора паролей и получения контроля над системой.

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

  1. Запустите терминал на вашем сервере для доступа к командной строке.
  2. Сделайте резервную копию конфигурационного файла:
sudo cp /etc/ssh/sshd_config{,_back} 

  1. Откройте конфигурационный файл SSH для редактирования:
sudo nano /etc/ssh/sshd_config 

Этот файл содержит настройки, которые определяют поведение SSH-сервера.

  1. В файле конфигурации найдите строку, которая содержит PermitRootLogin. 

Она может выглядеть примерно так: 

#PermitRootLogin yes. 

  1. Если строка закомментирована (начинается с символа #), удалите # для активации строки, затем измените значение на no:
PermitRootLogin no 

Это изменение запрещает вход в систему для пользователя root через SSH.

  1. Сохраните изменения в файле, нажав Ctrl + O, затем Enter
  2. Закройте редактор с помощью сочетания Ctrl + X.
  3. Чтобы применить изменения, перезагрузите SSH-сервер:
sudo systemctl restart sshd

Настройка авторизации по ключу

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

О том, как создавать ключевую пару, мы уже рассказывали в руководстве «Как сгенерировать SSH-ключ в Linux». 

Как настроить авторизацию по ключу:

  1. Запустите терминал на вашем сервере для доступа к командной строке.
  2. Перед изменением настроек SSH всегда полезно создать резервную копию текущего конфигурационного файла
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_back 

  1. Откройте файл конфигурации SSH для его изменения:
sudo nano /etc/ssh/sshd_config 

  1. Найдите строку #PubkeyAuthentication yes. 
  2. Если строка закомментирована (начинается с #), удалите # для активации опции и убедитесь, что после изменений строка выглядит следующим образом:
PubkeyAuthentication yes 

  1. Сохраните изменения, нажав Ctrl + O и Enter.
  2. Затем закройте редактор, нажав Ctrl + X.
  3. Примените настройки, перезагрузив SSH-сервер:
sudo systemctl restart sshd

Настройка параметра межсетевого экрана

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

В этом разделе мы рассмотрим, как настроить межсетевой экран с использованием Uncomplicated Firewall (UFW) – одним из самых популярных и простых в использовании брандмауэров среды Debian.

Шаг 1. Просмотрите доступные профили

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

sudo ufw app list 

Введите пароль суперпользователя при запросе для подтверждения действия. Эта команда отобразит список всех профилей приложений, которые управляются UFW.

Шаг 2. Разрешите SSH-соединения

Убедившись, что в списке присутствует профиль SSH, разрешите входящие соединения для SSH для обеспечения удалённого доступа к вашей машине. 

Выполните следующую команду:

sudo ufw allow OpenSSH 

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

Шаг 3. Активация межсетевого экрана

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

sudo ufw enable 

Прописанная команда запустит межсетевой экран и применит все установленные правила.

Шаг 4. Проверка статуса брандмауэра

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

Введите:

sudo ufw status 

Эта команда покажет текущее состояние UFW, включая список активных правил и статус включения брандмауэра.

Настройка межсетевого экрана с использованием UFW не только повышает безопасность вашей системы, но и облегчает управление доступом к различным сервисам, таким как SSH. 

Таким образом, установка SSH-сервера на Debian позволяет обеспечить безопасный удалённый доступ к вашей системе.