Все больше и больше неопытных пользователей настраивают учетные записи хостинга в попытке запустить успешный онлайн-проект. Первые шаги могут быть немного пугающими просто из-за большого количества технической терминологии и кажущихся бесконечными задач.
SSH — отличный пример технологии, которая вызывает много путаницы у новичков. Задача сегодняшнего руководства — прояснить некоторые насущные вопросы, связанные с этим решением для управления.
Но обо всем по порядку…
Table of Contents
ToggleSSH означает Secure Shell, и это протокол связи, который создает соединение между двумя компьютерами. Но как это поможет вам управлять своим сайтом в вашей учетной записи хостинга? Это довольно просто.
Ваш сайт размещен на сервере — по сути, это мощный компьютер, расположенный в центре обработки данных, который может быть за тысячи километров от вас. Если вам нужно внести какие-либо изменения в свой веб-сайт, вы не идете в центр обработки данных и не управляете сервером оттуда. Вы подключаетесь к нему из дома или офиса.
Здесь в игру вступает Secure Shell.
В то время как другие протоколы также позволяют вам удаленно управлять своей учетной записью, SSH превосходит другие, когда речь идет о безопасности.
Но как именно он создает такую безопасную среду?
История SSH восходит к 1995 году, когда Тату Юленен, финский исследователь, боролся с атакой перехвата пароля, нацеленной на сеть Хельсинкского университета. Популярные в то время протоколы связи устанавливали открытое текстовое соединение между клиентами и серверами. Это означает, что они передавали все данные, включая имена пользователей и пароли, в удобочитаемом формате.
Такая среда позволяла хакерам легко перехватывать учетные данные для входа и проникать в целевую сеть. Юленен понял, что, используя шифрование, он может создать гораздо более безопасное соединение. Эта идея получила дальнейшее развитие в Internet Engineering Task Force, которая выпустила вторую версию протокола в 2006 году.
SSH-2 даже безопаснее своего предшественника благодаря сочетанию симметричного, асимметричного шифрования и хеширования. Понимание различных методов шифрования имеет решающее значение для понимания того, как работает SSH.
При симметричном шифровании ваш компьютер использует криптографический ключ для преобразования отправляемой вами информации (например, команды, которую вы пытаетесь выполнить на сервере) в беспорядочную строку букв и цифр.
При получении сервер использует идентичный ключ для расшифровки команды. Ваш компьютер и сервер следуют заданному алгоритму обмена ключами для создания симметричного ключа. Они делают это самостоятельно и никогда не передают ключ третьим лицам.
Асимметричное шифрование немного сложнее. После установления соединения клиент и сервер генерируют пары открытого и закрытого ключей. Открытые ключи, как следует из их названия, легко доступны. Однако закрытые ключи хранятся только на двух взаимодействующих машинах.
В асимметричном шифровании вы используете открытый ключ для шифрования данных и закрытый ключ для их расшифровки.
Когда вы передаете часть информации через соединение с асимметричным шифрованием, ваш компьютер использует свой открытый ключ для шифрования ваших данных и их защиты во время передачи. Сервер сможет расшифровать его, только если у него есть закрытый ключ вашей машины.
Хеширование — это совсем другое понятие. Подобно симметричному и асимметричному шифрованию, это функция, которая шифрует информацию, чтобы злоумышленники не могли ее перехватить и прочитать.
Каждое сообщение, проходящее через алгоритм хэширования, создает уникальную строку, называемую хэш-значением. Однако нет ключа для расшифровки данных и восстановления их в удобочитаемом формате. Это односторонняя криптографическая функция, которая не позволяет извлекать исходную информацию.
Установка SSH-подключения к вашему серверу занимает не более пары секунд, но на самом деле происходит довольно много всего.
Во-первых, у вас есть этап согласования шифрования сеанса. Пока он выполняется, ваш компьютер и сервер представляют список поддерживаемых алгоритмов шифрования и хэширования, и две машины договариваются о том, какой из них они будут использовать.
Затем ваш компьютер и сервер генерируют пары открытого и закрытого ключей. Затем сервер использует ваш открытый ключ для шифрования запроса и отправки его вам. Он использует асимметричное шифрование, то есть ваша машина может расшифровать вызов, только если у нее есть ваш закрытый ключ.
Если это так – сеанс SSH начинается.
Теперь ваш компьютер и сервер совместно используют общедоступные фрагменты данных и используют заданный алгоритм обмена ключами для создания симметричного ключа шифрования. Этот будет использоваться для защиты потока информации между двумя машинами. Алгоритм обмена ключами остается неизвестным, поэтому никто другой не может сгенерировать ключ шифрования.
Когда безопасное соединение установлено, ваш компьютер и сервер используют предопределенный алгоритм хэширования для создания уникальных кодов аутентификации сообщений на основе хэшей (или HMAC) для каждого отдельного сообщения, которое проходит между двумя компьютерами. Каждый код аутентификации рассчитывается на основе содержимого сообщения, симметричного ключа шифрования и порядкового номера пакета. HMAC предназначены для обеспечения подлинности сообщений и гарантии того, что они не были подделаны.
Последним шагом является аутентификация пользователя. Сервер либо запросит у вас ваши учетные данные для входа, либо использует криптографические ключи для проверки вашей личности, прежде чем впустить вас.
То, как вы собираетесь получать доступ к VPS через SSH, в основном зависит от вашей учетной записи хостинга. Например, на самоуправляемом виртуальном сервере SSH включен по умолчанию, и у вас, скорее всего, есть root-доступ.
С управляемым решением VPS все немного иначе.
Обычно вы получаете интерфейс «укажи и щелкни », с помощью которого вы можете создавать отдельные учетные записи, изменять их разрешения и включать их доступ по SSH.
Существует несколько панелей управления веб-хостингом, каждая из которых имеет свой собственный графический интерфейс пользователя (или GUI), поэтому конкретные шаги, которые вам необходимо предпринять, зависят от платформы управления.
Если, например, ваш хостинг-провайдер использует cPanel/WHM, вам необходимо сделать следующее:
Включение доступа по SSH для отдельных учетных записей также возможно, если вы используете одну из ScalaHosting SPanel VPS.
Вот шаги:
SSH был разработан из-за необходимости в более безопасном протоколе связи, а сложная криптография, которую он использует, показывает, что безопасность лежит в его основе. Тем не менее, если у вас есть самоуправляемый сервер с конфигурацией по умолчанию, вы можете предпринять несколько шагов, чтобы еще больше защитить свою машину.
Изменение порта SSH по умолчанию — первое. Общеизвестно, что SSH по умолчанию работает через порт 22, и хакеры, которые хотят взломать сервер, обычно нацеливают свои атаки на него. Переключения на другой свободный порт часто бывает достаточно, чтобы остановить их или, по крайней мере, замедлить.
Чтобы предотвратить более целенаправленные атаки, вы можете использовать SSH-клиент для создания пары открытого и закрытого ключей для аутентификации. Механизм пользователя/пароля по умолчанию — это то, к чему, вероятно, привыкло большинство из вас, но криптографические ключи обеспечивают гораздо большую безопасность.
Большинство администраторов сайтов используют SSH для выполнения команд. Операционные системы на основе Unix, такие как Linux и macOS, могут подключаться к удаленному серверу через SSH прямо из терминала. После обновления 2018 года доступ к вашему серверу по SSH возможен и через Windows PowerShell, поэтому пользователям ОС Microsoft больше не нужно отдельное клиентское приложение.
Когда дело доходит до управления сервером через SSH, опция графического интерфейса недоступна. Если вы хотите использовать протокол, вам нужно освоиться с инструментом интерфейса командной строки. Независимо от операционной системы и программного обеспечения, команда, которую вы будете использовать для подключения к серверу через SSH:
ssh [ваше имя пользователя]@[IP-адрес сервера]
После успешной аутентификации вы войдете на сервер и сможете начать управлять им с помощью стандартных команд.
Если вы не привыкли к интерфейсу командной строки, вам может показаться, что SSH слишком сложен, особенно с учетом широкого спектра платформ управления на основе графического интерфейса.
Однако у разных проектов разные потребности, и некоторые администраторы веб-сайтов полагаются на инструменты, которые могут работать только через SSH. Более того, многим опытным пользователям проще и быстрее управлять своими сайтами через консоль.
Однако выполнение команд далеко не единственное приложение SSH. Протокол можно использовать для туннелирования портов и соединений и защиты практически любой сетевой службы, о которой вы только можете подумать. Наиболее известным примером службы, использующей SSH, является SFTP.
В Gohost мы хотим, чтобы наши услуги соответствовали потребностям как можно большего числа пользователей. Вот почему доступ по SSH доступен для большинства наших клиентов.
Если у вас есть пакет виртуального хостинга и вам нужен доступ по SSH, вы можете попросить наших специалистов по технической поддержке настроить его для вас в кратчайшие сроки.
С самоуправляемым VPS вы получите root-доступ и инструкции о том, как войти на ваш сервер сразу после того, как мы его настроим. А если вы хотите оставить управление сервером нам — вы можете получить управляемый VPS с панелью управления на основе графического интерфейса (либо WHM/cPanel, либо SPanel ).
С ним вы сами решаете, кто получит доступ по SSH, а кто нет.
SSH может показаться довольно старомодным способом управления учетной записью хостинга, особенно для людей, которые привыкли к панелям управления «укажи и щелкни». Протокол действительно существует уже довольно давно, и это не самый удобный для новичков способ управления веб-сайтом.
Однако это не делает его менее мощным.
Как только вы познакомитесь с окружением и командами, вы забудете, что можно было что-то делать по-другому.
Вы можете подключиться к своему серверу через SSH, используя либо интерфейс командной строки вашей операционной системы, либо отдельное клиентское приложение. Вы будете использовать учетные данные для входа, предоставленные вашим хостом, и первая команда, которую вам нужно будет ввести:
ssh [имя пользователя]@[IP-адрес сервера]
Затем вас попросят ввести пароль, и после успешной аутентификации вы сможете начать работу на своем сервере.
В дополнение к традиционному методу аутентификации пользователя/пароля, SSH позволяет использовать криптографические ключи для подтверждения личности пользователя. Лежащая в основе криптография делает ключи SSH гораздо более безопасными, чем обычные учетные данные для входа.
Раньше пользователи Windows могли устанавливать SSH-соединения только через автономные клиентские приложения, такие как PuTTY. Однако в 2018 году Microsoft выпустила обновление, которое интегрировало функциональность SSH в Windows PowerShell, поэтому, если ваша система актуальна — вы можете войти на свой сервер без установки дополнительных приложений.