Скидка 50% на все тарифы, ограниченное время. От $2.48/mo
Осталось 20 мин
Безопасность и сети

Как использовать SSH для подключения к удалённому серверу в Linux? [Издание 2023 года]

Allen By Allen 20 мин. чтения Обновлено 23 дня назад
подключение к удалённому серверу в Linux с помощью SSH

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

Содержание

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

  1. Secure Shell (SSH) для устройств на базе Linux
  2. Remote Desktop Protocol (RDP) для устройств Windows

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

Что такое SSH и как расшифровывается это название?

SSH (Secure Shell), также известный как «Secure Socket Shell», — это протокол для безопасного подключения к удалённому устройству или серверу через текстовый интерфейс. Существует два наиболее распространённых протокола для подключения к удалённой машине: SSH и RDP. Для установки SSH-соединения требуются клиентский и серверный компоненты.

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

RDP-vps Нужен удалённый рабочий стол?

Надёжные высокопроизводительные RDP серверы с аптаймом 99,95%. Работайте со своим рабочим столом из любого крупного города США, Европы и Азии.

Арендовать RDP сервер

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

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

На стороне сервера работает компонент, называемый SSH демон (SSHD) он постоянно прослушивает определённый порт TCP/IP на предмет входящих запросов от клиентов. Когда клиент инициирует соединение, SSH daemon отвечает, сообщая поддерживаемые версии программного обеспечения и протокола, после чего стороны обмениваются идентификационными данными.

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

Читайте также:  Лучший клиент SSH для Windows в 2022 году

Что такое терминал?

Если вы только начинаете работать с Linux, стоит познакомиться с терминалом. Это основной способ взаимодействия с Linux-сервером, дающий прямой доступ ко всем командам системы.

Работа с командной строкой может показаться сложной, но если начать с основ, всё встаёт на свои места. Например, с этих 15 базовых команд, которые должен знать каждый пользователь.

Терминал становится особенно важным, если вы планируете разрабатывать приложение (или только учитесь) с использованием PHP или Python. В отличие от Windows, где работа с Python через GUI превращается в настоящую головную боль, Linux органично интегрирует Python и другие языки программирования прямо в терминал. Так что даже если пройти все шаги по установке Python на Windows результат будет весьма посредственным, тогда как в Linux всё это доступно из коробки — прямо из командной строки.

linux-vps Хостинг Linux без лишних сложностей

Хотите удобнее размещать сайты и веб-приложения? Разрабатываете что-то новое? Просто не нравится Windows? Именно для этого у нас есть Linux VPS.

Получите свой Linux VPS

Что такое SSL?

SSH использует SSL (Secure Socket Layer) для защиты данных, передаваемых между браузером и сервером. Шифрование соединения с помощью SSL гарантирует, что все данные остаются конфиденциальными и защищёнными от перехвата. Иными словами, создание открытых и закрытых ключей между удалёнными серверами и локальными компьютерами при подключении через SSH — это часть протокола безопасности SSL. Этот дополнительный уровень защиты особенно актуален при атаках методом перебора паролей.

Как создать SSH-соединение?

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

OpenSSH — инструмент с открытым исходным кодом, широко используемый в дистрибутивах Linux и достаточно простой в использовании. Для его работы нужен доступ к терминалу как на сервере, так и на устройстве, с которого выполняется подключение. Обратите внимание: в Ubuntu SSH-сервер по умолчанию не установлен. На этом этапе руководства по удалённому подключению через SSH мы разобрались с основными понятиями. Теперь перейдём к установке OpenSSH-клиента.

Шаг 1: установите клиент OpenSSH

Перед установкой клиента SSH убедитесь, что он ещё не установлен в системе. Многие дистрибутивы Linux поставляются с предустановленным клиентом SSH.

  1. Выполните следующую команду, чтобы установить OpenSSH на ваше устройство:
sudo apt-get install openssh-client
  1. Введите пароль суперпользователя, когда потребуется.
  2. Нажмите Enter, чтобы завершить установку.

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

Шаг 2: установите сервер OpenSSH

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

  1. Откройте терминал на вашем сервере. Найдите его в меню или нажмите Ctrl + Alt + T на клавиатуре.
  2. Введите следующую команду для установки сервера SSH:
sudo apt-get install openssh-server
  1. Введите пароль суперпользователя, когда потребуется.
  2. Нажмите Enter и Y чтобы продолжить установку после запроса о дисковом пространстве.

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

sudo service ssh status

Если сервис SSH работает корректно, вывод в терминале должен выглядеть так:

статус ssh
статус ssh

Ещё один способ проверить, правильно ли установлен сервер OpenSSH и готов ли он принимать подключения, — повторно выполнить команду ssh localhost в терминале. При первом запуске вы увидите примерно следующее:

Вывод приватного ключа, защищённого паролем
Вывод приватного ключа, защищённого паролем

Теперь введите да or y для продолжения.

Готово! Ваш сервер настроен и принимает входящие подключения SSH с других устройств через клиент SSH.

Как использовать SSH для подключения к удалённому серверу в Linux?

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

  1. Откройте терминал SSH на вашем компьютере и выполните следующую команду:

Если имя пользователя на вашем локальном устройстве совпадает с тем, что используется на сервере, выполните эту команду:

ssh your_username@host_ip_address

Если имя пользователя на локальном устройстве совпадает с именем на сервере, к которому вы подключаетесь, выполните команду:

ssh host_ip_address

И нажмите Enter.

  1. Введите пароль и нажмите Enter. Символы не отображаются при вводе — это нормально. Если вставляете пароль из буфера обмена, убедитесь, что он хранится в надёжном месте, а не в текстовом файле.
  2. При первом подключении к серверу вас спросят, хотите ли вы продолжить соединение. Просто введите "да» и нажмите Enter. Это сообщение появится только один раз, поскольку удалённый сервер ещё не добавлен в список доверенных на вашем компьютере.
  3. Ключ ECDSA добавлен в список доверенных, и вы подключены к удалённому серверу.

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

linux-vps Хостинг Linux без лишних сложностей

Хотите удобнее размещать сайты и веб-приложения? Разрабатываете что-то новое? Просто не нравится Windows? Именно для этого у нас есть Linux VPS.

Получите свой Linux VPS

Дополнительные возможности удалённого управления через SSH

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

Вот несколько способов повысить безопасность SSH - все они настраиваются через файл конфигурации sshd:

  • Измените стандартный порт TCP, на котором работает демон SSH: замените 22 на что-то значительно большее, например 245976. Избегайте очевидных вариантов вроде 222, 2222 или 22222.
  • Используйте пары ключей SSH для аутентификации без пароля. Это безопаснее и удобнее: вход выполняется быстрее и не требует ввода пароля.
  • Отключите вход по паролю на сервере. Если пароль будет скомпрометирован, это исключит возможность его использования для доступа к серверу. Перед отключением обязательно убедитесь, что аутентификация по ключам работает корректно.
  • Отключите вход под root и используйте обычную учётную запись с командой su – для переключения на суперпользователя.

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

Что такое PuTTY?

PuTTY - популярный терминальный эмулятор для Windows, который также работает на других операционных системах. Это бесплатное приложение с открытым исходным кодом, поэтому оно востребовано и среди пользователей Linux. PuTTY предоставляет текстовый интерфейс для работы с удалёнными компьютерами по поддерживаемым протоколам в том числе SSH и Telnet.

[su_button url="https://www.putty.org/" target="blank" style="soft" size="5"]Download Putty[/su_button]

Примечание: PuTTY - бесплатная программа, которая даёт удобный доступ к среде Unix-shell из Windows. В отличие от Unix, в Windows нет встроенного SSH-клиента или сервера. Именно поэтому PuTTY поддерживает несколько сетевых протоколов, включая Telnet.

Читайте также: Генерация ключей SSH в Windows 10

Как скачать и установить PuTTY на Ubuntu Linux?

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

Если PuTTY не установлен, перейдите на страницу Загрузки PuTTY и скачайте установщик для Linux из раздела Package Files.

Хорошая новость для пользователей Linux: PuTTY доступен в репозитории universe для Ubuntu. Перед установкой убедитесь, что этот репозиторий подключён. Выполните команду:

sudo add-apt-repository universe

После того как репозиторий universe активирован, обновите Ubuntu командой:

sudo apt update

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

sudo apt install putty

После установки PuTTY его можно запустить через меню приложений. Интерфейс версии для Linux практически не отличается от версии для Windows, поэтому с настройками вы разберётесь без труда.

Как подключиться к серверу Linux через PuTTY?

Чтобы подключиться к серверу Linux через PuTTY после его установки, выполните следующие шаги:

Шаг 1: Настройка PuTTY

После запуска PuTTY откроется главный экран настройки сессии. Начните с ввода Имя хоста (или IP-адреса) сервера, к которому вы хотите подключиться.

По умолчанию порт установлен на 22 — это стандартный порт SSH на большинстве серверов. Это уязвимость: злоумышленники заранее знают, какой порт атаковать. Рекомендуется сменить порт SSH по этой инструкции и затем указать новый номер порта в PuTTY. Убедитесь, что тип подключения выбран SSH.

Если вы не используете приватный ключ и не хотите сохранять конфигурацию для дальнейшего использования, нажмите Open — PuTTY установит немедленное SSH-подключение к серверу и запросит пароль вашей учётной записи для аутентификации.

При первом подключении к серверу PuTTY покажет Предупреждение о безопасности — предупреждение о том, что ключ этого сервера отсутствует в реестре. Это нормально при первом соединении.

Подключение к удалённому серверу по SSH»

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

Читайте также: Установка MikroTik CHR на VPS (через PuTTY)

Шаг 2: Сохранение конфигурации PuTTY для последующих подключений 

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

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

Как настроить аутентификацию по открытому ключу SSH в Linux?

PuTTY также поддерживает работу с ключами SSH. Ключи SSH — более надёжный и зачастую более удобный способ аутентификации. Сгенерировать их можно прямо в PuTTY. Смотрите наше руководство по генерации ключей SSH с помощью PuTTY на Windows. С его помощью вы быстро повысите безопасность SSH-подключений.

Чтобы настроить аутентификацию по публичному ключу через SSH на Linux (или компьютере macOS), выполните несколько шагов:

Шаг 1: Генерация ключевой пары

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

ssh-keygen -t rsa

Шаг 2: Укажите имя файла и пароль

Вам потребуется указать имя файла для сохранения ключей и задать пароль для защиты приватного ключа. Чтобы использовать имя файла и расположение по умолчанию, просто нажмите Enter или Return без ввода имени. Можно также ввести имя файла — например, My_ssh_key — и нажать Enter или Return. Обратите внимание: многие удалённые хосты настроены на приём приватных ключей с именем и путём по умолчанию. Поэтому, если вы используете нестандартное имя, его нужно явно указывать в командной строке SSH или в конфигурационном файле клиента (~/.ssh/config).

Введите пароль длиной не менее пяти символов и нажмите Enter или Return. Если нажать Enter без пароля, приватный ключ будет создан без защиты паролем.

Шаг 3: Скопируйте открытый ключ

 Используйте SFTP или SCP для копирования файла публичного ключа в вашу учётную запись на удалённой системе.

Шаг 4: Введите учётные данные аккаунта

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

Шаг 5: Войдите на удалённую систему

Войдите в удалённую систему, используя имя пользователя и пароль своей учётной записи.

Шаг 6: Создайте необходимый файл в вашем аккаунте

Если в вашей учётной записи на удалённой системе ещё нет файла ~/.ssh/authorized_keys, создайте его, выполнив следующие команды:

mkdir -p ~/.ssh
touch ~/.ssh/authorized_keys

Шаг 7: Добавьте содержимое файла публичного ключа в файл authorized_keys

Вывод приватного ключа, защищённого паролем
Вывод приватного ключа, защищённого паролем

На удалённой системе добавьте содержимое вашего файла публичного ключа, например ~/id_rsa.pub, в новую строку файла ~/.ssh/authorized_keys с помощью следующей команды:

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

Проверьте содержимое файла ~/.ssh/authorized_keys, чтобы убедиться, что публичный ключ был добавлен корректно. Для этого выполните команду ниже:

more ~/.ssh/authorized_keys

Шаг 8: Удалите файл открытого ключа

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

rm ~/id_rsa.pub

Если вы хотите сохранить копию публичного ключа на удалённой системе, переместите его в директорию .ssh с помощью этой команды:

mv ~/id_rsa.pub ~/.ssh/

Шаг 9: Добавьте открытый ключ на другие системы (необязательно)

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

Шаг 10: SSH к вашему аккаунту на удалённой системе

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

Вывод приватного ключа, защищённого паролем
Вывод приватного ключа, защищённого паролем

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

Вывод при использовании приватного ключа без пароля
Вывод при использовании приватного ключа без пароля

Нажмите кнопку Откройте перейдите на нужную вкладку, введите пароль и подключитесь.

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

Читайте также: Всё, что нужно знать о SSH SOCKS5 Proxy

Основные стандарты удалённого рабочего стола

VNC и RDP — два протокола удалённого рабочего стола. У них схожие задачи, но разные подходы к реализации.

Что такое VNC?

VNC (Virtual Network Computing) иногда путают с VPN (Virtual Private Network). Оба работают в одноранговой сетевой среде и обеспечивают удалённый доступ к компьютеру, однако по своей сути это разные технологии. 

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

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

Туннелирование VNC через SSH

При подключении к удалённому рабочему столу по протоколу VNC (Virtual Network Computing) соединение не является защищённым. Некоторые VNC-клиенты не обеспечивают безопасность соединения после начальной аутентификации. Чтобы решить эту проблему, можно туннелировать VNC-соединение через SSH. Такой туннель защищает трафик VNC и позволяет работать даже в том случае, когда стандартный порт VNC (порт 5901) заблокирован.

В некоторых корпоративных сетях стандартные порты, например порт 5901, блокируются в целях безопасности. Туннелирование VNC через SSH позволяет обойти это ограничение.

Что такое RDP?

RDP (Remote Desktop Protocol) — сетевой протокол, разработанный компанией Microsoft, который позволяет пользователям удалённо подключаться к другим устройствам. Это расширение семейства протоколов T.120, входящих в стандарты ITU (Международного союза электросвязи).

RDP-vps Нужен удалённый рабочий стол?

Надёжные высокопроизводительные RDP серверы с аптаймом 99,95%. Работайте со своим рабочим столом из любого крупного города США, Европы и Азии.

Арендовать RDP сервер

Итог: удалённое подключение через SSH

Чтобы создать удалённое SSH-подключение и использовать его для соединения с сервером в Linux, вам потребуются два компонента: клиентская часть и соответствующая серверная часть. В этой статье мы разобрали, как подключаться по SSH удалённо и использовать все его преимущества. Мы также рады предложить различные планами Linux VPS чтобы вы могли использовать все возможности сервиса. В Cloudzy мы делаем всё для того, чтобы предоставить вам надёжные решения Linux VPS с высоким уровнем безопасности и производительности, обеспечивая превосходный хостинг-опыт.

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

 

Что такое SSH?

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

Как настроить ключи SSH?

  1. Генерация ключей SSH
  2. Назовите ваши ключи SSH
  3. Введите пароль (необязательно)
  4. Скопируйте публичный ключ на удалённый сервер
  5. Проверьте подключение.

Что такое ключевая пара SSH?

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

Где хранится приватный ключ SSH?

Если вы оставите имя по умолчанию, приватный ключ будет сохранён в "/root/.ssh/id_rsa".

Поделиться

Другие статьи блога

Читать дальше.

Обложка руководства Cloudzy по настройке MikroTik L2TP VPN: ноутбук подключается к серверной стойке через светящийся сине-золотой цифровой туннель с иконками щитов.
Безопасность и сети

Настройка MikroTik L2TP VPN (с IPsec): руководство по RouterOS (2026)

В этой конфигурации MikroTik L2TP VPN протокол L2TP отвечает за туннелирование, а IPsec — за шифрование и целостность данных. Их совместное использование даёт совместимость с нативными клиентами без сторонних реш

Рекса СайрусРекса Сайрус 9 мин. чтения
Окно терминала с предупреждением SSH об изменении идентификатора удалённого хоста, заголовок руководства по исправлению ошибки и брендинг Cloudzy на тёмно-бирюзовом фоне.
Безопасность и сети

Предупреждение: идентификатор удалённого хоста изменился. Как это исправить

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

Рекса СайрусРекса Сайрус 10 мин чтения
Иллюстрация к руководству по устранению неполадок сервера DNS: предупредительные символы и синий сервер на тёмном фоне, тема — ошибки разрешения имён Linux
Безопасность и сети

Временная ошибка разрешения имён: что это значит и как её исправить?

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

Рекса СайрусРекса Сайрус 12 мин чтения

Готовы к деплою? От $2.48/мес.

Независимый облачный провайдер с 2008 года. AMD EPYC, NVMe, 40 Gbps. Возврат средств в течение 14 дней.