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

Технология Secure Shell (SSH) предоставляет пользователям возможность удаленного доступа к машине или серверу Linux. Пользователи могут отдавать команды серверу так же, как если бы они использовали клавиатуру на своём ПК. Результаты выполнения любых команд передаются в текстовом формате. В этом материале мы рассмотрим процесс настройки SSH в Debian 10 и подробно разберём основные факторы, о которых следует помнить в начале использования.

Что такое SSH

На Debian часто требуется настройка веб-сервера безопасной оболочки, сокращенно SSH. SSH – это протокол сетевой безопасности, который позволяет пользователям удаленно получать доступ к серверу и управлять им. Он работает на основе взаимодействия между пользовательским компьютером и сервером. Аутентификация этих двух субъектов необходима и может быть выполнена тремя способами: через ip-адрес, с помощью пароля или с использованием пары ключей. SSH по умолчанию использует порт 22. 

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

OpenSSH использует множество компонентов, таких как SCP, SFTP, SFTP-server и т.д. Он также обеспечивает аутентификацию пользователей с помощью встроенных механизмов. Чтобы обеспечить безопасность ваших данных на Debian, необходимо установить пакет программ OpenSSH и выполнить определенные настройки. 

Установка SSH в Debian

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

$ sudo systemctl status sshd

В строчке Active должно быть указано значение «active (running)». Если у вас другие параметры, придётся дополнительно установить SSH-сервер. 

  • Устанавливаем.

$ sudo apt install openssh-server ssh

  • Запускаем.

$ sudo systemctl start sshd

  • Теперь нужно позволить подключаться к порту 22. 

$ sudo ufw allow ssh

  • Выполняем проверку, чтобы убедиться, что всё работает.

$ ssh root@localhost

Когда впервые будете подключаться, не забудьте согласиться на добавление ключа сервера в файл ~/.ssh/known_hosts. После этого увидите приглашение ввода в консоли SSH.

Установка OpenSSH

Установить набор программ OpenSSH тоже можно в терминале. 

  • Обновляем перечень доступных пакетов.

sudo apt-get update

  • Выполняем инсталляцию.

sudo apt-get install openssh-server

  • Соглашаемся на изменения, нажав «yes».
  • Открываем удалённый доступ к порту 22.

sudo ufw allow ssh

  • Проверьте работу SSH-сервера.

sudo systemctl status ssh

в открывшемся окне тоже должен отобразиться параметр «active (running)».

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

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

$ sudo cp /etc/ssh/sshd_config{,_back}

Настраивать SSH-сервер просто, нужно пройти всего 3 этапа.

  1. Смена порта.

Серьёзная опасность скрывается в использовании публичного IP-адреса. Его атакует огромное количество ботов, задача которых – найти открытый порт 22 и подобрать пароль. Поэтому порт нужно защитить, заменив его в конфигурационном файле. 

Откроем его.

$ vi /etc/ssh/sshd_config

Укажем другое значение. В нашем примере это 2222

Port 2222

Перезапустите SSH-сервер, чтобы применить настройки.

$ sudo systemctl restart sshd

Указываем актуальный порт, используя опцию -p.

$ ssh root@localhost -p 2222

  1. Отключение входа суперпользователя.

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

В том же файле отыщите строку PermitRootLogin, укажите для неё значение «no».

В строке подключения SSH указываем значением «yes».

  1. Авторизация по ключу.

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

В строке PubkeyAuthentication ставим «yes».

В строках ChallengeResponseAuthentication, PasswordAuthentication, UsePAM ставим «no».

Подведём итоги

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

Всё ещё остались вопросы?