Перейти к основному контенту

Что такое SSH

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

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

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

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

Первая версия протокола (SSH-1) появилась в 1995 году. В то время широко использовались Telnet и FTP. Их главным недостатком была уязвимость соединения, поэтому SSH-подключение заинтересовало пользователей. Однако первая версия имела много технических недоработок. Через год появилась вторая, более безопасная версия протокола — 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-порты. Как сменить порт, читайте в статьях:

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

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 1 из 1