Как установить и настроить SSH в Ubuntu: пошаговая инструкция

Установка и настройка SSH в системе Ubuntu необходима, если вы хотите получить доступ к своей системе дистанционно. Это актуально для работы с серверами на Linux или сетевым оборудованием. Мы написали для вас подробную инструкцию, чтобы упростить и ускорить этот процесс. 

Что такое SSH 

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

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

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

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

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

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

Инструкция: установка SSH в Ubuntu

Установка в Ubuntu выполняется в несколько этапов.

  1. Подготовка.

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

Затем обновите и синхронизируйте пакеты. 

sudo apt update && sudo apt upgrade

  1. Установка.

Необходимо установить OpenSSH, так как его по умолчанию в системе нет.

sudo apt install openssh-server

Согласитесь на все предложения системы.

  1. Запуск SSH.

Служба готова к работе, остаётся её только подключить.

sudo systemctl enable --now ssh

В данном примере «--now» – это ключ, который помогает запустить программу, добавив её в автозагрузку.

Выполните проверку. 

sudo systemctl status ssh

Система выдаст сообщение, где должен присутствовать статус «active (running)». Это значит, всё сделали правильно, служба стала активной.

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

sudo systemctl disable ssh

  1. Настройка брандмауэра

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

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

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

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

В нашем примере мы используем интерфейс UFW, поэтому вводим соответствующую команду.

sudo ufw status

Система выдаст отчёт, демонстрируя разрешения для трафика по протоколу SSH. Если Он всё же запрещён, вводим следующее.

sudo ufw allow ssh

  1. Подключение к серверу

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

Выбирайте любой из двух вариантов.

  • ssh имя_пользователя@IP_адрес
  • ssh имя_пользователя@домен

Будьте внимательны: на обоих устройствах (клиенте и сервере) должен работать SSH. Для удобства можете заказать хостинг с Ubuntu https://www.nic.ru/catalog/hosting/vds-vps/. Он характеризуется надежностью и безопасностью, обеспечивая защиту от уязвимостей и атак. Пользователи получают широкий спектр инструментов и приложений для разработки сайтов, приложений, что гарантирует их стабильную и эффективную работу.

  1.  Настройка конфигурации SSH

Настройка конфигурации SSH нужна для обеспечения дополнительной безопасности при удаленном доступе и связи. У пользователя есть возможность изменить порт или задать аутентификацию путем создания новой учетной записи пользователя с собственной парой ключей SSH. 

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

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.initial

Теперь откройте файл в текстовом редакторе.

sudo nano /etc/ssh/sshd_config

Желательно запретить вход суперпользователей. В строке PermitRootLogin поставьте значение No. Замените в файле стандартный порт на любой другой из диапазона 49152 — 65535. Чтобы задать аутентификацию по ключу, раскомментируйте строку «PubkeyAuthentication», установив значение «Yes».

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

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

Рассмотрим ещё несколько параметров конфигурационного файла.

  • UseDNS проверяет соответствие имени хоста с его IP -адресом.
  • PermitEmptyPasswords разрешает или запрещает использование пустых паролей.
  • MaxAuthTries устанавливает число неудачных попыток удаленного подключения к серверу.
  • AllowUsers и AllowGroups – это списки пользователей и групп, у которых есть доступ к серверу. Их перечисляют через запятую.
  • Login GraceTime задаёт время для авторизации. Например, 3m – это 3 минуты.
  • ClientAliveInterval задаёт время для бездействия пользователя, по истечении которого происходит отключение сеанса. 

Внесите нужные изменения, сохраните файл и закройте его. Затем выполните перезагрузку.

sudo systemctl restart ssh

Если изменили порт, то при подключении его нужно указать в таком формате.

ssh -p номер_порта имя_пользователя@IP_адрес

Или так, если используете домен.

ssh -p номер_порта имя_пользователя@домен

И ещё один полезный совет напоследок. Если хотите обеспечить максимальную безопасность и стабильность онлайн-активов, выбирайте надёжный хостинг для своих проектов. Сейчас возможен перенос сайта в RU-CENTER за 1 рубль https://www.nic.ru/info/master-transfer/. При этом количество переносимых сайтов не ограничено.

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

Если вы успешно выполнили все приведенные выше инструкции, значит реализовали безопасное shell-соединение в системе Ubuntu. Теперь у вас безопасный удаленный доступ к серверу или облаку с любого другого компьютера с помощью.

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