В этой статье мы расскажем, что такое SSH, для чего он нужен и как работает.
SSH (от англ. secure shell ― безопасная оболочка) ― это защищенный сетевой протокол для удалённого управления сервером через интернет.
Подключиться удаленно можно на всех тарифах услуги хостинга (кроме 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
Подключение проходит в 3 этапа:
- 1. Установка TCP-соединения. TCP — протокол управления передачей данных. С его помощью удаленный сервер и пользователь могут обмениваться данными.
- 2. Открытие защищенного канала. Исходя из настроек соединения обе стороны обмениваются информацией о способе шифрования и сжатия данных.
- 3. Аутентификация пользователя. Она происходит при помощи открытого ключа. У сервера и клиента есть публичный и частный ключ. Публичный ключ доступен любому. Частный известен только владельцу. Любой может зашифровать сообщение публичным ключом, но расшифровать его можно только частным. Клиент посылает имя пользователя и свой публичный ключ. У сервера есть список пользователей, которые могут подключаться к нему. Он проверяет полученный ключ по своему списку. Если клиент в списке, то сервер генерирует случайное число, шифрует клиента публичным ключом и отправляет его устройству. Клиент расшифровывает число и отправляет его обратно. Если всё расшифровано верно, то происходит успешная аутентификация.
После этих 3-х шагов устройство пользователя может передавать команды, получать или отправлять файлы.
Протокол SSH по умолчанию работает по порту 22. Несмотря на высокую защиту протокола, использование стандартного порта значительно повышает риск взлома сервера. Например, это можно сделать при помощи brute-force (атака полным перебором). Порт 22 — открытый, поэтому злоумышленнику нужно только подобрать логин и пароль к серверу. Это сложно, но возможно. Чтобы максимально ограничить доступ к серверу для злоумышленников, можно сменить SSH-порты. Как сменить порт, читайте в статьях:
Подробнее о том, как подключиться к серверу по SSH:
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊