Купить Корзина
  • Домены, почта и сайты
  • Сервисы для бизнеса
  • Облако и IT-инфраструктура
  • Вход
  • Телефон в Москве

    +7 495 580-11-11
  • Бесплатный звонок по России

    8 800 555-34-78
  • Или обратитесь в наши офисы

    Региональные номера
    1. База знаний
    2. Хостинг
    3. Доступы и подключение (панель управления, FTP, SSH)
    4. Что такое SSH

    Что такое SSH

    В этой статье мы расскажем, что такое SSH, для чего он нужен и как работает.

    SSH (от англ. secure shell ― безопасная оболочка) ― это защищенный сетевой протокол для удалённого управления сервером через интернет. Его основное назначение — предоставить администраторам и разработчикам безопасный способ удаленного доступа к серверу для его настройки, управления, обслуживания и отладки приложений.

    Ключевые функции:

    • защищенная передача файлов. Сопутствующие протоколы, такие как SCP (Secure Copy Protocol) и SFTP (SSH File Transfer Protocol), позволяют безопасно копировать файлы между компьютерами;

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

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

    Подключиться удаленно можно на всех тарифах услуги хостинга (кроме Host-Lite), VPS, а также Dedicated.

    Версии протокола SSH

    Существуют две версии протокола SSH. Первая (SSH-1) появилась в 1995 году — в то время широко использовались Telnet и FTP. Их главным недостатком была уязвимость соединения, поэтому SSH-подключение заинтересовало пользователей. Однако первая версия протокола SSH-1 имела много технических недоработок. Через год появилась, более безопасная вторая версия протокола — SSH-2. Именно она в 2006 году была признана стандартным протоколом в интернете.

    Функции SSH

    Протокол SSH предназначен для:

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

    SSH-соединение состоит из 2-х компонентов: SSH-сервер и SSH-клиент. Что такое SSH-сервер? Это программа, которая устанавливает связь и производит аутентификацию с устройством пользователя. Он установлен на самом сервере. SSH-клиент используется для входа на удалённую машину и передачи ей команд. Он устанавливается на устройстве, с которого пользователь хочет подключиться к серверу. Бесплатный вариант клиента и сервера — OpenSSH. В операционных системах Unix клиент для OpenSSH установлен по умолчанию. Для Windows нужно установить отдельное приложение — PuTTy.

    Принцип работы SSH

    Что такое ssh

    Подключение проходит в 3 этапа:

    • 1.
      Установка TCP-соединения. TCP — протокол управления передачей данных. С его помощью удаленный сервер и пользователь могут обмениваться данными.
    • 2.
      Открытие защищенного канала. Исходя из настроек соединения обе стороны обмениваются информацией о способе шифрования и сжатия данных.
    • 3.
      Аутентификация пользователя. Она происходит при помощи открытого ключа. У сервера и клиента есть публичный и частный ключ. Публичный ключ доступен любому. Частный известен только владельцу. Любой может зашифровать сообщение публичным ключом, но расшифровать его можно только частным. Клиент посылает имя пользователя и свой публичный ключ. У сервера есть список пользователей, которые могут подключаться к нему. Он проверяет полученный ключ по своему списку. Если клиент в списке, то сервер генерирует случайное число, шифрует клиента публичным ключом и отправляет его устройству. Клиент расшифровывает число и отправляет его обратно. Если всё расшифровано верно, то происходит успешная аутентификация.

    После этих 3-х шагов устройство пользователя может передавать команды, получать или отправлять файлы.

    Протокол SSH по умолчанию работает по порту 22. Несмотря на высокую защиту протокола, использование стандартного порта значительно повышает риск взлома сервера. Например, это можно сделать при помощи brute-force (атака полным перебором). Порт 22 — открытый, поэтому злоумышленнику нужно только подобрать логин и пароль к серверу. Это сложно, но возможно. Чтобы максимально ограничить доступ к серверу для злоумышленников, можно сменить SSH-порты. Как сменить порт, читайте в статьях:

    • Как сменить порт на VPS,
    • Как сменить порт на выделенном сервере.

    Подробнее о том, как подключиться к серверу по SSH:

    • на виртуальном хостинге,
    • на VPS,
    • на Dedicated.

    Методы аутентификации в SSH

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

    • 1.

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

    • 2.

      Аутентификация по SSH-ключам. Основной и рекомендуемый метод. При нем используется ключевая пара:

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

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

    • 3.

      Двухфакторная аутентификация (2FA). Наиболее надежный вариант, требующий подтверждения двумя разными факторами. Например:

      • фактор владения — приватный SSH-ключ;
      • фактор знания — пароль от ключа или фактор владения — одноразовый код из приложения-аутентификатора (TOTP, например, Google Authenticator).

      Даже если злоумышленник получит ваш приватный ключ, без второго фактора (кода) доступ получить не удастся. Настройка 2FA обычно осуществляется через модули PAM (Pluggable Authentication Modules) на сервере.

    Частые вопросы

    Что такое SSH, и чем он отличается от FTP?

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

    FTP (File Transfer Protocol) — это протокол только для передачи файлов, и по умолчанию он не шифрует данные (логины, пароли, содержимое файлов передаются в открытом виде). Для безопасности всегда рекомендуется использовать SFTP вместо обычного FTP.

    Как настроить SSH-ключи и подключиться к серверу?
    • 1.

      Сгенерируйте пару ключей на своем компьютере командой:

      ssh-keygen -t ed25519

      или

      -t rsa -b 4096
    • 2.

      Скопируйте публичный ключ (содержимое файла с расширением .pub) на сервер в файл

      ~/.ssh/authorized_keys
    • 3.

      Подключитесь командой

      ssh username@server_ip

    Если ключ настроен правильно, пароль не потребуется.

    Подробные инструкции для разных операционных систем доступны в нашей Базе знаний.

    Как установить двухфакторную аутентификацию?
    Необходимо установить и настроить на сервере модуль PAM (Pluggable Authentication Modules) для работы с приложением-аутентификатором (например, Google Authenticator). После настройки при каждом подключении по SSH после успешной проверки SSH-ключа система будет дополнительно запрашивать одноразовый код.
    Что делать, если подключение по протоколу SSH не работает?

    Проверьте по порядку:

    • 1.

      Доступность сервера: убедитесь, что сервер работает:

      ping server_ip
    • 2.

      Правильность данных: проверьте IP-адрес, порт, логин и наличие SSH-доступа на вашем тарифе.

    • 3.

      Настройки сети и брандмауэра: убедитесь, что на сервере и в вашей сети не блокируется SSH-порт.

    • 4.

      Права доступа к файлам ключей: на сервере для каталога .ssh должны быть установлены права 700, а для файла authorized_keys — 600.

    Если проблема не решена, обратитесь в техническую поддержку.

    Как безопасно хранить SSH-ключи?
    • Защищайте приватный ключ паролем при его генерации;

    • Никому не передавайте свой приватный ключ;

    • Храните приватный ключ только на доверенных и защищенных устройствах;

    • Используйте агент SSH (ssh-agent) для безопасного временного хранения ключа в памяти во время сеанса работы;

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

    Помогла ли вам статья?

    Спасибо за оценку. Рады помочь 😊

     👍
    Специальные предложения
    • Гранты для бизнеса до 500к
    • Скидки на cloud GPU до 50%
    • Скидки на bare-metal с А4000 и А5000
    • Кешбэк 100% на kubernetes
    Рассылка Рег.ру

    Лайфхаки, скидки и новости об IT

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

    Домены и сайты
    • Домены
    • Хостинг
    • Создание сайтов
    • SSL-сертификаты
    • VPS и VDS серверы
    • Whois
    • Магазин доменов
    Облако
    и IT-инфраструктура
    • Облачные серверы
    • Частное облако
    • Облачное хранилище
    • Kubernetes в облаке (K8S)
    • Облачные базы данных
    • Выделенные серверы
    Полезное
    • Стоимость услуг
    • Cпособы оплаты
    • База знаний
    • Документы
    • ЭДО
    • Партнерам
    • Сообщить о нарушении
    • РБК: новости России и мира сегодня
    • Новости компаний РФ
    • РБК Инвестиции: курсы валют
    • Рег.решения и Онлайн Патент: бесплатная проверка бренда
    Компания
    • О компании
    • Контакты
    • Офисы
    • Новости
    • Акции и скидки
    • Блог
    • Отзывы клиентов
    8 800 555-34-78 Бесплатный звонок по России
    +7 495 580-11-11 Телефон в Москве
    • vk
    • telegram
    • ok
    • moikrug
    • youtube
    • twitter
    • Облачная платформа Рег.ру включена в реестр российского ПО Запись №23682 от 29.08.2024
    • © ООО «РЕГ.РУ»
    • Политика конфиденциальности
      Политика обработки персональных данных
      Правила применения рекомендательных технологий
      Правила пользования
      и другие правила и политики
    • Нашли опечатку?
      Выделите и нажмите Ctrl+Enter
    • Мы используем cookie и рекомендательные технологии для персонализации сервисов и удобства пользователей. Вы можете запретить сохранение cookie в настройках своего браузера