Алгоритм установления соединения в протоколе SSH / Хабр

(Начальное название статьи «Алгоритм работы протокола SSH» было изменено по рекомендациям Vindicar, Karroplan и других участников хабросообщества)

Периодически читая статьи, посвящённые SSH, обратил внимание, что их авторы порой не имеют понятия, как работает этот протокол. В большинстве случаев они ограничиваются рассмотрением темы генерации ключей и описанием опций основных команд. Даже опытные системные администраторы часто несут полную ахинею при обсуждении вопросов работы SSH, выдавая опусы в стиле: передаваемые данные шифруются открытым SSH-ключом клиента, а расшифровываются закрытым, или: для шифрования данных при передаче используется алгоритм RSA.

Попытаюсь внести немного ясности в работу протокола SSH, а заодно рассмотреть роль алгоритма RSA и ключей авторизации пользователя…



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

Для целостности картины я также добавлю уровень установки сетевого соединения, хотя официально этот уровень находится ниже SSH.

1. Установка TCP-соединения

Не буду подробно останавливаться на принципе работы стека TCP/IP, так как эта тема достаточно хорошо задокументирована в Рунете. При необходимости вы легко найдёте информацию.

На этом этапе происходит сетевое подключение клиента к серверу на TCP-порт, указанный в опции Port (по умолчанию: 22) в файле конфигурации сервера /etc/ssh/sshd_config.

2. Открытие защищенного канала

2.1 Обмен идентификационными данными

После установки TCP-соединения, клиент и сервер (далее по тексту – стороны) обмениваются версиями SSH-протокола и другими вспомогательными данными, необходимыми для выяснения совместимости протоколов и для выбора алгоритмов работы.

2.2 Выбор алгоритмов: обмена ключами, шифрования, сжатия и т.п.

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

Список доступных алгоритмов обмена ключами на стороне клиента (используются для получения сессионного ключа) можно посмотреть командой:

ssh -Q kex

Список доступных в системе симметричных алгоритмов (используются для шифрования канала):

ssh -Q cipher

Список типов ключей для авторизации у клиента:

ssh -Q key-cert

Дополнено по замечанию onix74:
Все используемые в публикации команды актуальны для версии OpenSSH 7.6 из Ubuntu 18.04 LTS.

2.3 Получение сессионного ключа шифрования

Процесс получения сессионного ключа может отличаться в зависимости от версии алгоритма, но в общих чертах сводится к следующему:

Сеансовый ключ создается исключительно на период жизни канала и уничтожается при закрытии соединения.

3. Аутентификация клиента

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

В общих чертах, аутентификация посредством ключей происходит следующим образом:

  • Клиент отсылает серверу имя пользователя (username) и свой публичный ключ.
  • Сервер проверяет в файле /home/username/.ssh/authorized_keys наличие присланного клиентом открытого ключа. Если открытый ключ найден, то сервер генерирует случайное число и шифрует его открытым ключом клиента, после чего результат отправляется клиенту.
  • Клиент расшифровывает сообщение своим приватным ключом и отправляет результат серверу.
  • Сервер проверяет полученный результат на совпадение с тем числом, которое он изначально зашифровал открытым ключом клиента, и в случае совпадения считает аутентификацию успешной.

4. Уровень подключения

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

На этом уровне обеспечивается: мультиплицирование каналов (возможность работы множества каналов к одному серверу за счет объединения их в один канал), туннелирование и т.п.

От теории к практике

Ну а теперь, думаю, у читателей назрел вполне закономерный вопрос: а зачем нужно знать все эти тонкости работы SSH-протокола, если для повседневной работы достаточно знаний команд создания ключей (ssh-keygen), открытия терминальной сессии (ssh), передачи файлов (scp)?

В качестве ответа, можно вспомнить тему о смене стандартного порта SSH на какой-то другой, которая постоянно становится причиной холивара на Хабре…

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

В ситуации же, когда на 22-м порту ничего нет, или порт защищён с помощью iptables (либо надстройками над ним типа fail2ban), то злоумышленник будет дропнут ещё на этапе установки TCP-соединения.

Наиболее интересно описанное выглядит в виде таблицы*

Конфигурация Вероятность взлома Потери от флуда**
22 порт,
авторизация по паролю,
без защиты
высокая высокие
22 порт,
авторизация по ключам,
без защиты
средняя*** высокие
22 порт,
авторизация по ключам,
защита на основе ограничения неудачных попыток авторизации
низкая средние****
Нестандартный порт,
авторизация по паролю,
без защиты
высокая низкие
Нестандартный порт,
авторизация по ключам,
без защиты
средняя*** низкие
Нестандартный порт,
авторизация по ключам,
защита на основе ограничения неудачных попыток авторизации
низкая низкие

* — значения параметров (высокий, средний, низкий) носят относительный характер и служат только для сравнения показателей.
** — имеется ввиду расход ресурсов сервера (процессор, диск, сетевой канал и т.п.) на обработку лавины запросов, обычно идущих на 22-й порт.
*** — произвести взлом, если для авторизации используются RSA-ключи, очень сложно, однако неограниченное количество попыток авторизации делает это возможным.

**** — количество попыток авторизации ограничено, но серверу всё равно приходится обрабатывать их от большого количества злоумышленников.

Дополнительные материалы


  • Исходники SSH
  • Спецификации протокола SSH (en)
  • Алгоритм Диффи-Хелмана
  • Алгоритм RSA
  • Как SSH появился на 22 порту
  • Что записано в файле .ssh/known_hosts
  • Памятка пользователям ssh

Основные принципы работы протокола SSH

В этой статье мы рассмотрим, как работает SSH, как он используется для безопасной связи с удалёнными компьютерами и как компьютеры устанавливают и настраивают сеанс.

Что такое SSH?

SSH — сокращение от «secure shell» (безопасная оболочка). Это протокол, который чаще всего используют для управления удалёнными компьютерами по сети.

Как устанавливается сессия SSH?

Есть несколько шагов, которые нужно пройти, чтобы начать SSH-сеанс между компьютерами.

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

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

Настройка зашифрованного канала

Вся информация, отправляемая с использованием SSH, зашифрована. Обе стороны должны знать и понимать способ шифрования.

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

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

Решение этой проблемы состоит в использовании протокола обмена ключами Диффи-Хеллмана. Оба компьютера создают свой закрытый и открытый ключ. Вместе они образуют пару ключей. Компьютеры делятся своими открытыми ключами друг с другом через интернет. Используя свой закрытый и чужой открытый ключ, стороны могут независимо сгенерировать одинаковый симметричный ключ.

Верификация

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

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

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

После того как клиент и хост сгенерировали свои симметричные ключи, клиент использует хеш-функцию для генерации HMAC, что означает «код аутентификации сообщений, использующий хеширование». Клиент отправит этот HMAC на сервер для верификации.

Функция хеширования использует:

  • симметричный ключ клиента,
  • порядковый номер пакета,
  • содержимое сообщения (зашифрованное).

Когда хост получает HMAC, он может использовать ту же самую хеш-функцию с этими тремя компонентами:

  • собственный (идентичный клиентскому) симметричный ключ;
  • порядковый номер пакета;
  • зашифрованное сообщение.

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

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

Аутентификация

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

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

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

Заключение

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

Перевод статьи «A top-down introduction to SSH and how it enables secure data-sharing»

Варвара Николаева

Реклама на Tproger: найдем для вас разработчиков нужного стека и уровня.

Подробнее

Реклама на tproger.ru

Загрузка

Что такое SSH, шифрование и порты

СШ

04 октября 2022 г.

Домантас Г.

8 минут Чтение

Загрузить шпаргалку Ultimate SSH Commands

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

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

Давайте сразу нырнем, хорошо?

Что такое SSH?

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

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

В приведенном ниже примере показано типичное приглашение SSH. Любой пользователь Linux или macOS может подключиться по SSH к своему удаленному серверу прямо из окна терминала. Пользователи Windows могут воспользоваться преимуществами SSH-клиентов, таких как Putty. Вы можете выполнять команды оболочки так же, как если бы вы физически управляли удаленным компьютером.

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

Если вы используете Linux или Mac, использовать SSH очень просто. Если вы используете Windows, вам нужно будет использовать SSH-клиент для открытия SSH-соединений. Самый популярный SSH-клиент — PuTTY, о котором вы можете узнать больше здесь.

Для пользователей Mac и Linux перейдите в программу терминала и выполните следующую процедуру:

Команда SSH состоит из 3 отдельных частей:

 ssh {пользователь}@{хост} 

Команда ключа SSH указывает вашей системе, что вы хотите открыть зашифрованное соединение Secure Shell. {user} представляет учетную запись, к которой вы хотите получить доступ. Например, вы можете захотеть получить доступ к пользователю root , который в основном является синонимом системного администратора с полными правами на изменение чего-либо в системе. {хост} относится к компьютеру, к которому вы хотите получить доступ. Это может быть IP-адрес (например, 244.235.23.19) или доменное имя (например, www.xyzdomain.com).

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

Если вы хотите узнать о других командах SSH, найдите их здесь.

Понимание различных методов шифрования

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

  1. Симметричное шифрование
  2. Асимметричное шифрование
  3. Хэширование

Симметричное шифрование

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

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

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

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

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

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

Существует множество симметричных шифровальных шифров, включая, помимо прочего, AES (Advanced Encryption Standard) , CAST128 , Blowfish и т. д. Перед установкой защищенного соединения клиент и хост решают, какой шифр использовать. использовать, опубликовав список поддерживаемых шифров в порядке предпочтения. В качестве двунаправленного шифра используется наиболее предпочтительный шифр из поддерживаемых клиентами шифров, присутствующий в списке хоста.

Например, если две машины Ubuntu 14.04 LTS взаимодействуют друг с другом через SSH, они будут использовать aes128-ctr в качестве шифра по умолчанию.

Асимметричное шифрование

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

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

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

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

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

Хеширование

Одностороннее хеширование — еще одна форма криптографии, используемая в Secure Shell Connections. Функции одностороннего хеширования отличаются от двух вышеупомянутых форм шифрования тем, что они никогда не предназначены для расшифровки. Они генерируют уникальное значение фиксированной длины для каждого входа, который не показывает четкой тенденции, которую можно использовать. Это делает их практически необратимыми.

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

SSH использует хэши для проверки подлинности сообщений. Это делается с помощью HMAC или H на основе ясеня M essage A аутентификации C оды. Это гарантирует, что полученная команда не будет изменена каким-либо образом.

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

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

Как работает SSH с этими методами шифрования

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

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

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

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

Согласование сеанса шифрования

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

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

Вот как работает алгоритм на самом базовом уровне:

  1. И клиент, и сервер соглашаются на очень большое простое число, которое, конечно, не имеет общего множителя. Это значение простого числа также известно как начальное значение .
  2. Затем стороны договариваются об общем механизме шифрования для создания другого набора значений путем манипулирования начальными значениями определенным алгоритмическим способом. Эти механизмы, также известные как генераторы шифрования, выполняют большие операции с начальным числом. Примером такого генератора является AES (Advanced Encryption Standard).
  3. Обе стороны независимо генерируют другое простое число. Это используется в качестве секретного закрытого ключа для взаимодействия.
  4. Этот вновь сгенерированный закрытый ключ с общим номером и алгоритмом шифрования (например, AES) используется для вычисления открытого ключа, который распространяется на другой компьютер.
  5. Затем стороны используют свой личный закрытый ключ, общий открытый ключ другой машины и исходное простое число для создания окончательного общего ключа. Этот ключ вычисляется обоими компьютерами независимо, но для обеих сторон создается один и тот же ключ шифрования.
  6. Теперь, когда обе стороны имеют общий ключ, они могут симметрично шифровать весь сеанс SSH. Один и тот же ключ можно использовать для шифрования и расшифровки сообщений (читайте: раздел о симметричном шифровании).

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

Аутентификация пользователя

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

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

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

Заключение

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

Если вам интересно, сколько времени требуется компьютеру, чтобы вычислить хэш и аутентифицировать пользователя, ну, это происходит менее чем за секунду. На самом деле максимальное количество времени тратится на передачу данных через Интернет.

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

Если вам нужны дополнительные руководства по Linux, обязательно ознакомьтесь с нашим разделом руководств по VPS.

Часто задаваемые вопросы о SSH

Почему используется SSH?

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

Что означает SSH?

SSH — это аббревиатура сетевого протокола Secure Shell или Secure Socket Shell.

Чем отличается SSH от SSL?

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

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

Подробнее от Domantas G.

Как использовать SSH-клиент PuTTY в Windows, Mac и Linux

СШ

23 августа 2022 г.

Линас Л.

3 мин Чтение

SSH или Secure Shell — это безопасный протокол для подключения к удаленному серверу. Чтобы установить SSH-соединение, вам понадобится клиентское приложение SSH, например PuTTY.

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

Загрузить шпаргалку по Ultimate SSH Commands

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

Подпишитесь на другие обучающие видео! Академия Хостингер

Подписывайся

Как загрузить PuTTY

PuTTY чаще всего используется в Windows, однако он также доступен в Linux и Mac. Вот как вы можете загрузить замазку в разных операционных системах.

Windows

Загрузите последнюю версию PuTTY SSH с официального сайта. После этого установите его на свой компьютер. Это так просто.

Linux

Большинство людей используют предустановленный OpenSSH в Linux, однако PuTTY в Linux больше используется для отладки, подключения к последовательным портам и необработанным сокетам.

В Debian используйте следующую команду:

 sudo aptitude install putty 

Затем команду установки инструментов:

 sudo aptitude install putty-tools 

MacOS

Как и Linux, macOS поставляется с уже установленным SSH-клиентом командной строки. Но чтобы загрузить PuTTY, откройте окно терминала и используйте приведенные ниже команды.

Чтобы установить PuTTY для Mac:

 brew install putty (или) port install putty 

Требования для установки

Далее вам потребуется немного информации, прежде чем вы сможете начать использовать PuTTY. Вам потребуется:

  • IP-адрес сервера
  • Порт SSH
  • Имя пользователя SSH
  • Пароль SSH

Если вы являетесь пользователем Hostinger, существует два способа найти эту информацию, в зависимости от вашего хостинг-плана:

  • Общий веб-хостинг — перейдите в меню SSH Access в категории Advanced . Здесь вы увидите все данные для входа, которые вам нужны. Если вы забыли свой пароль, легко сбросьте его через меню Аккаунты FTP  .
  • План VPS — учетные данные находятся в Вкладка Server панели hPanel, в разделе SSH Details . Если вы не знаете, какой у вас пароль, прокрутите вниз до раздела Root Password и создайте новый.

Как подключиться к PuTTY

  1. Запустите клиент PuTTY SSH, затем введите SSH IP-адрес и порт SSH вашего сервера. Нажмите кнопку Открыть , чтобы продолжить.
  2. Появится всплывающее сообщение login as: с просьбой ввести имя пользователя SSH. Для пользователей VPS это обычно корень . Однако для пользователей виртуального хостинга вам нужно будет ввести предопределенное имя пользователя, например u721233450 . После ввода имени пользователя нажмите Enter.
  3. Введите пароль SSH и нажмите Введите еще раз. Из соображений безопасности на экране не будет отображаться пароль, но будет регистрироваться то, что вы вводите.

Поздравляем! Вы успешно подключились к своей учетной записи с помощью SSH-клиента PuTTY. Вы можете просмотреть все доступные команды SSH, выполнив помогите через терминал.

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

PuTTYgen — это инструмент, который создает пары открытого и закрытого ключей. PuTTY хранит эти ключи аутентификации в своих файлах формата .ppk . В Windows вы будете использовать графический инструмент PuTTYgen.exe , а в Linux вы будете использовать командную строку.

Для начала найдите PuTTY и откройте PuTTYgen.

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

После завершения ваш открытый ключ появится в окне.

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

Установить открытый ключ на сервер

Чтобы предоставить доступ к учетной записи, вам необходимо добавить новый открытый ключ в файл с именем ~/.ssh/authorized_keys .

Сначала установите открытый ключ. Затем войдите на свой сервер и найдите файл author_keys . Отредактируйте файл и вставьте в него новый открытый ключ. Сохраните файл и проверьте, работает ли вход в систему.

Заключение

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

  • Основные команды SSH
  • Как настроить ключи SSH
  • Как работает SSH?

Не стесняйтесь комментировать, если у вас есть какие-либо вопросы.

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