При работе в Интернете пользователю и IT-специалисту предстоит иметь дело с разнообразными протоколами. Они фактически невидимы, но отвечают за разнообразные манипуляции в сети и безопасность. Современный Интернет работает при помощи двух моделей – OSI и TCP/IP. Последний поддерживает протокол SSH на 22 порту.

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

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

Определение

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

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

SSH – это сетевой протокол связи. Он отвечает за обеспечение безопасного метода взаимодействия устройств и обмена данными через незащищенные сети. Использует для аутентификации и шифрования соединений криптографию.

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

Краткая история развития

Раньше в Интернете активно использовались протоколы Telnet и FTP. Они были ориентированы на подключение и передавали данные в виде обычного текста. Такой формат делал информацию уязвимой для «сниффинга» – метода перехвата и чтения данных.

Развитие SSH началось в 1995 году, после атаки со сниффингом паролей в Хельсинкском технологическом университете. Один из его студентов, Тату Юленен, смог быстро обнаружить уязвимости в Интернет-коммуникациях.

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

Преимущества и недостатки

SSH протокол имеет как сильные, так и слабые стороны. К его преимуществам, особенно по сравнению с FTP, относят:

  1. Шифрование. SSH осуществляет шифрование всех данных, которые отправляются по сети. Это значит, что информация вроде пользовательских имен, паролей и так далее находится в полной безопасности.
  2. Аутентификацию. SSH использует пары ключей открытого и закрытого типа для аутентификации. Такой подход обеспечивает дополнительный уровень безопасности по сравнению с FTP-протоколом.
  3. Целостность информации. SSH-протокол гарантирует, что отправленная или полученная информация окажется неизменной во время передачи. Он поддерживает инструменты защиты от несанкционированного доступа и повреждений.
  4. Переадресацию портов. SSH позволяет работать с безопасной переадресацией и туннелированием других протоколов.
  5. Простоту использования. Современные SFTP-клиенты предусматривают дружественный и простой интерфейс. За счет данной особенности переход с программного обеспечения, ориентированного на FTP, будет максимально комфортным.

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

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

Рассматриваемая технология работает в несколько этапов:

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

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

По умолчанию SSH использует port 22 для работы. Но есть и другие порты, с которыми взаимодействует «защищенная оболочка».

Общие порты

SSH использует в своей работе разнообразные порты. Каждый из них предусматривает определенные особенности. Вот общие порты для работы с рассматриваемым протоколом:

  1. Port 22. Это порт по умолчанию. Он используется Secure Shell изначально для зашифрованных сетевых служб вроде удаленного входа в систему и выполнения различных команд. SSH обеспечивает безопасный канал по незащищенной сети в клиент-серверной модели. Он часто используется системными администраторами для безопасного доступа к удаленным серверам и дальнейшего управления ими.
  2. Порт 2222. SSH использует не только порт 22 для своей работы. Port 2222 иногда встречается в качестве его альтернативы. Он обеспечивает смягчение атак на SSH-серверы, нацеленные на порты по умолчанию.
  3. Порт 8022. Еще один нестандартный порт. Он встречается реже, но применяется для тех же целей, что и порт 2222 – обеспечение лучшего уровня безопасности.
  4. Порт 222. Используется некоторыми программами для безопасной связи между клиентскими и серверными сторонами.
  5. Порт 2200. Нестандартный порт, который встречается при подключении к удаленному рабочему столу. В качестве примеров можно привести Virtual Network Computing и Windows Remote Desktop.

На каком порту работает SSH, понятно. Стандартный порт повышает риски взлома сервера. Он является открытым, поэтому злоумышленникам останется подобрать логин и пароль к серверной части модели. Добиться результата проблематично, но вероятность его получения все равно есть. Представленные выше порты, за исключением port-22, используются для ограничения доступа злоумышленников к серверу.

Настройка и подключение

Теперь, когда общее представление о «защищенной оболочке» уже есть, можно приступить к ее настройке и подключению. Далее будут предложены инструкции не только для Windows, но и для Linux/macOS.

Windows

В Windows настроить SSH и подключить к сайту можно, если руководствоваться следующей инструкцией:

  1. Загрузить и установить SSH-клиент. В Windows нужно использовать командную строку Cmder или выделенный SSH-клиент для установления SSH-соединения с веб-страницей. Далее будет использоваться PuTTY. Загрузить приложение можно с его официального сайта.
  2. Подключиться к серверу при помощи SSH. Для этого нужно открыть PuTTY, ввести имя хоста и указать номер порта. Нужно указать хост и IP-адрес сервера. Соответствующие данные зависят от провайдера. После этого требуется кликнуть по кнопке «Открыть» – на экране появится командная строка. В ней будет предложено указать пользовательское имя и пароль. Если они не работают, самое время проверить панель управления хостингом на наличие раздела «Доступ по SSH».
  3. Наладить взаимодействие с сервером при помощи командной строки. Командная строка дает возможность выполнять разнообразные действия: перемещать документы, удалять папки, создавать новые каталоги, менять разрешения пользователей. Чтобы увидеть, какие файлы и каталоги есть на сервере, используется команда ls, а для получения доступа к определенной папке – cd имя_папки. За возврат в предыдущий каталог отвечает cd.

По мере освоения работы с командной строкой и SSH, можно изучать новые, более сложные команды и функции.

Linux и macOS

На Linux и macOS допустимо использование системной командной строки для установки SSH-соединения с веб-страницей. В терминальной оболочке нужно всего лишь указать следующее:

ssh exampleuser@serverip

В предложенной записи exampleuser заменяется на пользовательское имя, а serverip – на общий или выделенный IP-адрес.

Общие команды SSH

Чтобы лучше разобраться с SSH-протоколом и работой с ним, необходимо ознакомиться с наиболее распространенными SSH-командами. Ниже – таблица, которая поможет выполнять операции в Linux.

КомандаКраткая характеристика
cdИзменение каталога на необходимый пользователю
lsПеречисление содержимого выбранной папки
rmУдаление файла/каталога
mkdirСоздание нового каталога или папки
catДемонстрация содержимого документа
touchСоздание нового файла
pwdПоказ полного пути к документу
wgetСкачивание файла из Интернета
mvПеремещение элемента
cpКопирование файла/папки
viВызов текстового редактора, позволяющего вносить изменения в пользовательские документы
nano
grepПоиск определенной фразы в файле
findПоиск
clearОчистка экрана терминала
tarСоздание и распаковка сжатых архивов на сервере
duПросмотр размера файлов/папок в заданном каталоге
historyОтображение последних 50 команд, используемых клиентом
chmod/chownСмена прав доступа к документам
sudoВыдача root-прав
suСмена пользователя
scpБезопасная передача файлов между локальными и/или удаленными хостами
ddКопирование необработанной информации из одного источника в другой
manВывод пользовательского руководства для любой терминальной команды
curlОбеспечение передачи данных и подключения из удаленного места

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

SSH функционирует на стандартном порту 22. Он обладает несколькими уровнями: транспортным, аутентификации пользователей, уровнем подключения. Первый отвечает за обеспечение безопасной связи между клиентом и сервером, а также контролирует шифрование данных. Второй – занимается проверкой личностей пользователей и серверов. Третий – обрабатывает создание, обслуживание и завершение сеансов. Лучше работать с сетью и настраивать ее помогут дистанционные компьютерные курсы.

P. S. Интересуют компьютерные сети, сетевые технологии, протоколы передачи данных? Обратите внимание на следующие курсы в Otus: