Yandex
Обновить настройки cookies

Как подключиться к серверу по SSH

При покупке VPS/VDS-сервера или виртуального хостинга обычно вместе с другими данными авторизации в письме даются данные для доступа через SSH. SSH доступ к серверу (secure shell - безопасная оболочка) - это защищенный сетевой протокол для удаленного управления сервером через интернет.
 

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

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

Компоненты SSH

Соединение SSH состоит из 2-х компонентов: SSH-сервер и SSH-клиент.
  • SSH-сервер - это специальная система, которая позволяет установить безопасное соединение и проверить подлинность пользователя, она настроена и работает на сервере.
  • SSH-клиент - это программа для безопасного доступа к удаленной машине и отправки команд с компьютера пользователя.
 

Популярные SSH-клиенты, позволяющие подключение к серверу через SSH

SSH-клиенты для операционной системы Windows: PuTTY, KiTTY, MobaXterm, Solar-PUTTY (бывший SolarWinds), WinSCP, Xshell, онлайн расширение FireSSH для Firefox, Secure Shell - плагин-приложение для Google Chrome, компонент OpenSSH для Cygwin Terminal, Tunnelier, SSHWindows.
Как подключиться к серверу Mac OS по SSH? Поможет стандартная утилита - простой консольный терминал, а также SSH-клиенты ZOC, vSSH, Shuttle.
Эти клиенты SSH позволят подключиться и войти на сервер Linux: SecureCRT, PuTTY, OpenSSH, Termius, MobaXterm, SecureCRT, Xshell, KiTTY, TeraTerm. В ОС также встроен консольный терминал.
Независимо от того, кем вы являетесь - системным администратором, разработчиком программного обеспечения или простым пользователем, если вам нужен SSH-клиент, то вы можете найти в этих списках подходящий вариант. Важно уделить время на оценку доступных инструментов и выбрать тот, который лучше всего подходит для ваших нужд и целей.
 

Как зайти на сервер по SSH - типы подключения

Во время установки соединения протокол SSH определяет, кто является пользователем клиентского приложения, используя один из вариантов:
  • Проверка соединения посредством ввода логина и пароля, при этом пароли передаются в зашифрованном виде. Этот метод - наиболее распространенный способ аутентификации для входа.
  • Идентификация пользователя с использованием ключа, считается наиболее надежной. У сервера и клиента есть пары публичных и приватных ключей. Публичный ключ известен всем, а приватный - только владельцу. Любой может зашифровать сообщение с помощью публичного ключа, но его можно расшифровать только с помощью приватного ключа. Клиент отправляет серверу свое имя пользователя и публичный ключ. Сервер проверяет соответствие полученного ключа с записями в списке разрешенных пользователей. Если пользователь присутствует в списке, сервер генерирует случайное число, шифрует его с помощью публичного ключа клиента и передает обратно. Клиент расшифровывает данные и отправляет обратно. Если все было расшифрованы правильно - аутентификация считается успешной. Разрешается зайти на удаленный сервер, используя SSH.
 

Как происходит подключение

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

Решение типичных проблем

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

Имя хоста

  • Проверьте правильность написания имени хоста.
  • Убедитесь, что вы можете получить IP-адрес хоста на клиентской машине с помощью команды ping.
Если у вас возникают проблемы с разрешением DNS на любом уровне, временным решением может быть использование IP-адреса сервера.
 

Закончилось время соединения

Клиент не смог установить соединение с SSH-сервером в заданный период ожидания.
  • Проверьте правильность IP-адреса хоста.
  • Убедитесь, что используемый порт SSH доступен для подключения через вашу сеть. Некоторые публичные сети блокируют порт 22 или пользовательские SSH-порты. Для проверки доступности порта можно попытаться подключиться к другим хостам через этот же порт.
  • Удостоверьтесь, что политика брандмауэра не настроена на "DROP", а разрешает соединения через SSH-порт.
 

Отказ в соединении

  • Проверьте правильность указания IP-адреса хоста.
  • Подключитесь к другим хостам через тот же порт, чтобы убедиться, что проблема не вызвана блокировкой.
  • Убедитесь, что политика брандмауэра не установлена на "DROP" и что порт не блокируется.
  • Проверьте, что сервер запущен и привязан к правильному порту.
Несмотря на продуманную безопасность протокола, использование стандартного порта 22 серьезно увеличивает вероятность взлома сервера. Например, злоумышленники могут воспользоваться атакой с полным перебором. Чтобы снизить риск несанкционированного входа для злоумышленников можно изменить порты SSH и создать ограничения на доступ.
 

Заключение

SSH создает некий "туннель" между устройствами, по которому передаются зашифрованные данные. Для обеспечения максимальной безопасности исключите удаленный доступ с административными правами к серверу или клиенту.
  • Измените стандартный номер порта 22 SSH на другой.
  • Используйте длинные RSA-ключи.
  • Контролируйте IP-адреса, с которых разрешен доступ к клиенту и серверу.
  • Следите за ошибками аутентификации, чтобы быстро обнаружить попытки взлома.
  • Установите дополнительные системы защиты свежих версий.
При соблюдении этих правил вы обеспечите максимальную безопасность соединения по протоколу SSH.
28 Apr 2024, 14:06:28