SSH – это сетевой протокол, который обеспечивает безопасное подключение клиента к серверу. Любое взаимодействие подвергается шифрованию, предотвращая хищение передаваемых по сети данных и других удаленных сетевых атак.
Например, вы заказали облачный сервер в Timeweb Cloud. Чтобы подключаться к серверу и администрировать его, вам потребуется установленный и настроенный SSH.
В инструкции ниже мы опишем процесс установки SSH в Ubuntu 22.04, а также последующей его настройки.
Первое, что нужно сделать перед началом установки SSH в Ubuntu, это произвести синхронизацию и обновление всех пакетов apt
до последних версий. Для этого воспользуемся следующей командой:
sudo apt update && sudo apt upgrade
Результат выполненной команды представлен на картинке ниже.
Теперь все пакеты apt
обновлены и имеют последние версии. После данного шага можно переходить непосредственно к главной теме статьи – установке SSH.
OpenSSH не предустанавливается в системе, поэтому выполним его установку вручную. Чтобы это сделать, в окне терминала вводим:
sudo apt install openssh-server
Как только команда будет выполнена, начнется установка всех необходимых компонентов в систему, как показано на картинке ниже.
На все предложения системы в момент установки отвечаем утвердительно.
Установка прошла успешно. Теперь перейдем к запуску службы.
На данном этапе необходимо включить только что установленную службу. Поможет в этом команда ниже:
sudo systemctl enable --now ssh
При успешном запуске вы увидите следующее системное сообщение.
Ключ --now
в команде выше отвечает за одновременный запуск программы и добавление ее в автозагрузку.
Теперь проверим, что служба включена и успешно функционирует. Для этого вводим:
sudo systemctl status ssh
В результате система выдаст следующее сообщение:
Как видно по картинке выше, установленная служба успешно функционирует. Об этом говорит строка Active: active (running)
.
Если необходимо выключить службу и убрать ее из автозагрузки, в окне терминала введите:
sudo systemctl disable ssh
Перед подключением к серверу через протокол SSH проверим состояние брандмауэра. Хотя во время установки службы и происходит настройка файрвола, повторная проверка поможет убедиться, что он настроен правильно.
vds
В нашем случае установлен интерфейс UFW, поэтому воспользуемся следующей командой:
sudo ufw status
Результат команды представлен на картинке ниже.
Как видно по картинке, трафик по протоколу SSH разрешен. Если у вас он отсутствует в списке, то необходимо разрешить входящие SSH-соединения. В этом поможет команда:
sudo ufw allow ssh
После выполнения всех предыдущих шагов можно наконец переходить ко входу на сервер, используя протокол SSH.
Для подключения к серверу пользователю понадобятся его IP-адрес или доменное имя.
В строку терминала вводим команду:
ssh имя_пользователя@IP_адрес
Или:
ssh имя_пользователя@домен
Важно: Для успешного подключения к удаленному серверу, на нем и на компьютере пользователя, откуда будет выполняться подключение, должен быть установлен и настроен SSH. На облачных серверах Timeweb Cloud SSH уже установлен.
Выполнив предыдущие 5 шагов, пользователь уже сможет без затруднений выполнить удалённое подключение к серверу, используя установленную службу. Однако можно дополнительно повысить безопасность выполняемого подключения, изменив стандартный порт подключения на другой или поменяв аутентификацию по паролю на аутентификацию по ключу. Для этих и других изменений необходимо отредактировать конфигурационный файл SSH.
Основные настройки OpenSSH-сервера хранятся в главном конфигурационном файле – sshd_config
(расположение: /etc/ssh
). Перед тем, как приступать к редактированию, необходимо создать резервную копию данного файла:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.initial
Теперь в случае возникновения ошибок после редактирования конфигурационного файла, пользователь без проблем сможет вернуть его к первоначальному виду.
После создания резервной копии можно переходить непосредственно к редактированию конфигурационного файла. Для этого откроем его, используя терминал и редактор Nano:
sudo nano /etc/ssh/sshd_config
В открывшемся файле сразу изменим значение порта на более безопасное. Лучше всего устанавливать значения из динамического диапазона портов (49152 — 65535), при этом использовать набор отличных друг от друга цифр для дополнительной безопасности. Например, отредактируем значение порта на 49532. Для этого раскомментируем соответствующую строку в файле и изменим значения порта, как показано на картинке ниже.
Кроме данной настройки, необходимо изменить режим аутентификации по паролю на более безопасный по ключу. Для этого раскомментируем соответствующую строку, значение которой должно быть “Yes”, как показано на картинке ниже.
Аутентификацию по ключу разрешена. О том, как сгенерировать и использовать пару SSH-ключей, было подробно рассказано в соответствующей статье.
Теперь запретим вход на сервер под суперпользователем. Для этого также изменим значение соответствующей строки, как показано на рисунке ниже.
Кроме внесенных выше изменений, перечислим ниже основные директивы конфигурационного файла, которые отвечают за безопасность сервера:
# AllowUsers Пользователь1, пользователь2, пользователь3
# AllowGroups Группа1, группа2, группа3
После внесения всех изменений в главный конфигурационный файл, необходимо их сохранить и закрыть редактор. После перезагружаем службу, чтобы все изменения вступили в силу:
sudo systemctl restart ssh
Если в конфигурационном файле вносились изменения порта, то выполнять подключение необходимо с указанием его нового значения:
ssh -p номер_порта имя_пользователя@IP_адрес
Или:
ssh -p номер_порта имя_пользователя@домен
Подготовили для вас выгодные тарифы на VDS и VPS
В данной статье была продемонстрирована подробная инструкция по установке и настройке SSH в Ubuntu 22.04. Также был описан процесс внесения изменений в главный файл конфигурации для повышения безопасности. Благодаря данной инструкции пользователь сможет выполнить безопасное удаленное подключение к серверу и не беспокоиться о потере или краже передаваемых данных.