Что такое SSH
Читайте нашу статью, если хотите настроить безопасный доступ к северу, но пока не знаете как. Мы расскажем, что такое SSH и как работает защищенное SSH-соединение.
Что такое протокол SSH
SSH или Secure Shell (безопасная оболочка) — это один из сетевых протоколов безопасного обмена данными. С его помощью можно подключаться к удаленному серверу по зашифрованному каналу.
В 1995 году была разработана первая версия протокола. В то время подключение было возможно только по Telnet или FTP — протоколам, которые не обеспечивали безопасное соединение. Несмотря на это, протокол так и не получил полное доверие пользователей из-за наличия технических уязвимостей. Во второй версии протокола SSH были учтены все ошибки предшественника. В 2006 году её признали стандартом.
В первую очередь протокол SSH предназначен для безопасного соединения. Помимо этого он позволяет:
-
обмениваться данными (файлами, базами данных, таблицами),
-
запускать программы в удаленном режиме,
-
делать переадресацию портов,
-
передавать зашифрованный трафик между портами.
Рассмотрим, по каким принципам работает протокол и какие характеристики сервера позволяют настроить скрытое от злоумышленников подключение.
Как работает протокол
Установить безопасное SSH-соединение возможно только в том случае, если в процессе участвуют две системы — клиент и сервер.
SSH-клиент — это локальное устройство, с которого пользователь осуществляет удаленное управление. SSH-сервер — это удаленная машина, которой управляют. Управление машиной происходит с помощью различных команд. Их передает командный интерпретатор (shell).
Важно понимать, что к серверу можно подключиться только, если на нём установлено специальное ПО — daemon. Без него пользователь не получит доступ к серверу, а также не сможет использовать защищенные SSH-порты при обмене данными. Это условие касается и устройства пользователя — на нём должна быть запущена специальная программа-клиент. Например, на операционных системах по типу Linux по-умолчанию установлена программа OpenSSH. А пользователи ОС Windows чаще всего используют программную утилиту Putty. Такое безопасное взаимодействие клиента и сервера называется SSH-сессией.
Итак, мы поняли, какие нужны компоненты, чтобы запустить сессию. Теперь разберемся, из каких этапов состоит SSH-подключение.
1 этап: Соединение по TCP. TCP — один из базовых протоколов передачи данных, без которого невозможно установить ни одно безопасное соединение. Благодаря его работе возможно подключение пользователя к серверу не только на техническом, но и на сетевом уровне. При подключении по TCP клиент соединяется с защищенным TCP-портом. Как правило, это порт 22.
2 этап: Настройка защищенного канала. На этом этапе сервер и клиент договариваются о том, по каким правилам будут взаимодействовать: проверяют совместимость, обмениваются идентификационными данными и выбирают алгоритмы работы. Затем они договариваются об основном сеансовом ключе, который будут использовать для всех операций конкретной сессии. После окончания сессии этот ключ уничтожается.
3 этап: Аутентификация. После того как всё настроено для безопасного удаленного управления, сервер проверяет ключ пользователя. У него есть список, в котором указано, какие ключи можно допускать к соединению, а какие нет. Клиент посылает свой ключ, и сервер проверяет его достоверность. Если ключ совпадает с одним из ключей из списка — аутентификация проходит успешно.Таким образом пользователь получает по SSH доступ к серверу. После этого он может приступить к безопасному управлению.
Итак, мы рассказали, что такое SSH-сервер и зачем он нужен. Теперь вы можете попробовать подключиться к серверу по SSH на виртуальном хостинге или VPS.