• Советы по ИБ на практике

Что такое и для чего нужен протокол SSH простыми словами

24.12.2025

автор Команда Нейроинформ

Что такое SSH

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

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

Для решения этих задач в 1972 году был разработан универсальный протокол Telnet (cокр. от англ. Teletype Network). Он до сих пор встраивается во все операционные системы. Этот протокол позволяет администратору подключаться к любому серверу по сети и выполнять на нем консольные команды - команды командной строки в случае Windows или команды терминала в случае Linux, как будто работает непосредственно на этом удаленном хосте. Удобно.

Telnet использовался не только для удалённого доступа к командной строке, но и для передачи файлов, ASCII-графики и даже многопользовательских сетевых игр, таких, как «Shades of Gray», «Crusify:The Chosen», «Магия и Сталь», «Неронис» и другие.

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

К сожалению, в протоколе Telnet не предусмотрено использование ни шифрования, ни проверки подлинности данных. Поэтому все пароли и файлы передаются по сети в открытом виде, а подлинность второй стороны, с которой происходит общение, никак не проверяется. В современном мире такой подход несет слишком большие риски.

Поэтому в 1995 году был предложен новый протокол SSH версии 1 (англ. Secure Shell — «безопасная оболочка»), который решает те же задачи, но при этом шифрует весь трафик, включая пароли и передаваемые файлы.

Сейчас существует множество различных SSH-серверов и клиентских оболочек. Некоторые из них встроены в операционные системы «из коробки». Некоторые могут устанавливаться дополнительно. Все они работают по протоколу SSH, в значительной степени совместимы между собой и позволяют безопасно передавать любую информацию - не только удалённо работать на компьютере через командную оболочку или передавать звуковой поток или видео (например, с веб-камеры), но и создавать зашифрованные тоннели между узлами и использовать сжатие передаваемых данных.

Чтобы проверить установлен ли SSH на вашем компьютере под управлением Windows, выполните следующие шаги:

  • Нажмите клавиши Win + R одновременно. Откроется диалоговое окно «Выполнить».
  • В открывшемся окне введите «cmd» без кавычек и нажмите Enter. Откроется окно командной строки.
  • Введите команду «ssh» без кавычек и нажмите Enter.
  • В результате если SSH установлен, вы увидите справку по использованию команды ssh. Если не установлен - сообщение вроде «ssh не является внутренней или внешней командой».

Как работает SSH

Как говорилось выше, служба SSH использует в своей работе магию криптографии.

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

Говоря про магию криптографии, мы лишь немного преувеличили, так как криптография позволяет делать удивительные вещи.

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

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

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

Если рассмотреть работу SSH на примере сундука с амбарным замком, то это выглядит так:

  • Отправитель пишет письмо и кладет его в сундук. Сундук запирает с помощью амбарного замка. Ключ вешает себе на шею, а закрытый сундук отправляет Получателю.
  • Получатель получает закрытый сундук. Он не может его открыть, потому что у него нет ключа. Зато он может повесить свой амбарный замок рядом с замком Отправителя и закрыть его на свой ключ. Этот ключ он прячет под подушкой и никому не показывает. Сундук с двумя замками отправляет Отправителю.
  • Отправитель получает сундук с двумя замками. У него есть один из ключей – висит на шее. И он снимает свой замок. Сундук по-прежнему закрыт, но только на один замок Получателя. Этот закрытый сундук отправляется Получателю.
  • Получателю приезжает сундук с замком, который повесил сам получатель и ключ, к которому лежит у него под подушкой. Поэтому ничто не мешает ему открыть сундук и прочитать письмо. Готово!

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

Как использовать SSH

Настройка сервера:

Чтобы сервер был готов принимать безопасные соединения по SSH, сначала нужно убедиться, что на нём установлен и запущен SSH-сервер. В Linux это обычно пакет OpenSSH Server, который можно установить через пакетный менеджер:

  • sudo apt update
  • sudo apt install openssh-server

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

  • sudo systemctl status ssh

Для базовой безопасности рекомендуется настроить конфигурацию SSH. Файл настроек обычно находится по пути /etc/ssh/sshd_config. Там можно:

  • выбрать порт для подключения (по умолчанию 22);
  • запретить вход под пользователем root;
  • включить аутентификацию по ключам вместо пароля;
  • ограничить доступ только определённым пользователям.

После внесения изменений сервис нужно перезапустить:

  • sudo systemctl restart ssh

Если планируется использовать аутентификацию по ключам, нужно сгенерировать ключи на клиенте (ssh-keygen) и скопировать публичный ключ на сервер в файл ~/.ssh/authorized_keys. После этого сервер будет принимать подключения без ввода пароля, что значительно повышает безопасность.

Настройка клиента:

Чтобы начать работу с SSH, сначала нужно убедиться, что клиент SSH установлен на компьютере. В Linux и macOS он обычно уже установлен по умолчанию, а в Windows Windows достаточно включить «OpenSSH Client» через параметры системы или скачать PuTTY. Проверить наличие клиента можно командой:

  • ssh -V

Если она возвращает версию SSH, значит всё готово. Теперь можно использовать все возможности SSH:

  • Удалённое управление сервером
    Чтобы подключиться к серверу, используйте команду:
    ssh username@server_address
    где username - ваше имя пользователя на сервере, а server_address - его IP-адрес или доменное имя. После ввода пароля вы получаете доступ к командной строке сервера и можете выполнять любые разрешённые команды.
  • Безопасная передача файлов (SCP/SFTP)
    Для копирования файлов на сервер используйте команду:
    scp localfile.txt username@server_address:/remote/path/
    Аналогично можно скачивать файлы с сервера:
    scp username@server_address:/remote/path/file.txt /local/path/
  • Создание туннелей (Port Forwarding)
    SSH-туннели позволяют безопасно пересылать трафик через защищённое соединение:
    ssh -L 123:internal-server:1234 username@server_address
    Эта команда создаёт туннель: все обращения из интернета на порт 8080 сервера будут перенаправлены на порт 80 внутреннего сервера через SSH. Это удобно для доступа к внутренним сервисам, недоступным напрямую из интернета.
  • Запуск графических приложений (X11 Forwarding)
    Если на сервере есть графическая программа, её можно запускать удалённо через SSH с поддержкой X11 с помощью команды:
    ssh -X username@server_address
    После подключения вы сможете запускать приложения с графическим интерфейсом на сервере, а окна будут отображаться на вашем локальном компьютере.
    Также для более удобной и безопасной работы часто используют ключи SSH вместо пароля. Их можно сгенерировать командой:
    ssh-keygen

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

Заключение

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

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

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

Сегодня SSH - это не просто инструмент удалённого управления, а фундаментальная технология, обеспечивающая безопасность современных ИТ-инфраструктур.

Автоматическая киберзащита
для вашего бизнеса

Регулярный контроль чувствительных данных компании, понятные отчёты и экспертная поддержка с точными рекомендациями.

  • Советы по ИБ на практике
наш блог

о нас много говорят клиенты, эксперты, сми и партнеры

начните защищать свою компанию, данные и инфраструктуру и получать выгоды от автоматизации киберзащиты

Подписка
Будьте на связи

Для получения полезных материалов и последних новостей, введите свое имя и электронную почту
Кибербезопасность для бизнеса простым языком — подписывайтесь на наш телеграм канал! Подписаться