Что такое SSH?

Последнее изменение: Friday December 1st, 2023

SSH – это полностью зашифрованный протокол, который позволяет удаленный доступ к оболочке систем на основе UNIX (таким как Linux, BSD и MacOS). Кроме того, приложения протокола включают аутентификацию на основе ключей, передачу файлов и туннелирование трафика.

Как получить SSH-сервер?

Продукты Beehosting с доступом через SSH:

  • Ограниченный доступ
    • Веб-хостинг (для управления и редактирования веб-файлов и скриптов)
      • Уровень 9
      • Уровень 19
    • Хранилище файлов (неподвижное, только для SCP и Rsync)
    • Управляемые серверы (настройка и управление файлами)
  • Полный доступ к root
    • Выделенные серверы root
    • Облачные серверы

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

Если вы установили операционную систему самостоятельно, вам, вероятно, нужно будет установить службу SSH после этого:


Операционная система Установка
Debian/Ubuntu apt install openssh-server

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

Как получить SSH-клиент?

  • Для Linux, BSD и MacOS SSH обычно уже предустановлен или может быть легко установлен с помощью менеджера пакетов вашего дистрибутива.
  • Поскольку Windows не поставляется с SSH-клиентом, мы рекомендуем загрузить инструмент PuTTY.


Операционная система Установка
Debian/Ubuntu apt install openssh-client

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

  • Если вы используете UNIX-систему (Linux/BSD/MacOS), следующая команда установит для вас SSH-соединение:
    ssh <пользователь>@<IP_или_домен>

    Введите соответствующее имя пользователя (обычно “root”) для <пользователь> и IP-адрес или домен вашего продукта для <IP_или_домен>.

  • Если вы используете PuTTY, введите имя вашего DNS-сервера или его IP-адрес. При необходимости выберите SSH и порт 22, а затем нажмите “Открыть”. Затем вас попросят ввести ваше имя пользователя (обычно root) и пароль. После правильного ввода этих данных вы будете авторизованы в системе.

Как убедиться, что я подключаюсь к правильному серверу?

При первом подключении к серверу появится сообщение с просьбой проверить “отпечаток” сервера и подтвердить его. Отпечаток представляет собой сжатую версию открытого ключа сервера.

The authenticity of host 'example.com (10.0.0.1)' can't be established.
RSA key fingerprint is SHA256:DlxqI4BctJqAgyCfyExywbm9a7qdL7nqfMKgoQuGp5w..
Are you sure you want to continue connecting (yes/no)?

В зависимости от используемого вами ключа для подключения, вывод будет отличаться. Помимо RSA, типы ключей DSA, ECDSA и ED25519 также распространены. Однако DSA больше не следует использовать по умолчанию, начиная с OpenSSH 7.

С автоматической установкой отпечатки отображают и передают также по электронной почте.

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

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ED25519 key sent by the remote host is
SHA256:DlxqI4BctJqAgyCfyExywbm9a7qdL7nqfMKgoQuGp5w.
Please contact your system administrator.
Add correct host key in /home/user/.ssh/known_hosts to get rid of this message.
Offending ED25519 key in /home/user/.ssh/known_hosts:1
Password authentication is disabled to avoid man-in-the-middle attacks.
Keyboard-interactive authentication is disabled to avoid man-in-the-middle
attacks.
Permission denied (publickey,password).

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

ssh-keygen -R <IP_или_домен>

Если вы еще не подключались к другой операционной системе по тому же IP-адресу или домену, следует серьезно отнестись к предупреждению о возможной атаке “человек посередине”. Если вы считаете, что может произойти атака “человек посередине”, следует прервать соединение и заказать консоль KVM, чтобы проверить ситуацию внутри работающей системы.

Как создать новый ключ хоста SSH?

Все ключи хоста автоматически регенерируются с автоматической установкой через или с помощью скрипта Installimage. Чтобы заменить ключ в установленной системе, используйте ssh-keygen. Вы можете найти список всех доступных ключей (ssh_host*) в /etc/ssh/

ls -l /etc/ssh
total 280
-rw-r--r-- 1 root root 242091 Oct  3  2014 moduli

Например, чтобы обновить ключ ED25519, введите следующую команду:

ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N

Как переносить файлы через SSH?

SCP

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

Вы можете использовать SCP с многими удаленными файловыми менеджерами, а также в оболочке Linux, BSD или MacOS. Просто используйте следующий синтаксис команды, чтобы начать передачу файла с вашей системы на другую или наоборот:

scp <исходный> <назначение>

Чтобы скопировать файл с Системы-A на Систему-B, находясь в Системе-A:

scp /путь/к/файлу holu@Система-B:/путь/к/файлу-назначению

Чтобы скопировать файл с Системы-A на Систему-B, находясь в Системе-B:

scp holu@Система-B:/путь/к/файлу /путь/к/файлу-назначению

Чтобы скопировать целый каталог рекурсивно (со всеми файлами и подкаталогами в нем), вам нужно добавить -rp:

scp -rp holu@Система-B:/путь/к/папке/ /путь/к/папке-назначению/

SFTP

Протокол SFTP (Secure File Transfer Protocol) был разработан как альтернатива FTPS (TLS-зашифрованному FTP) и в отличие от него использует только одно соединение, которое обрабатывается зашифрованным подключением SSH. Поэтому, как и в случае с SCP, требуется SSH-сервер.

Вы можете использовать SFTP с многими удаленными файловыми менеджерами, а также в оболочке Linux, BSD или MacOS. В отличие от SCP, вам нужно сначала установить соединение:

sftp <пользователь>@<IP_или_домен>

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

sftp holu@your_host.example.com
Connected to holu@your_host.example.com.
sftp>

Большинство команд SFTP аналогичны командам, которые вы бы использовали в оболочке Linux. Используя команды help или ?, вы можете получить список доступных команд:

sftp> help

Для получения дополнительной информации и примеров обратитесь к документации по SFTP.

Как использовать SSH для создания туннеля?

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

Was this article helpful?
Просмотры: 115

10 лет с BeeHosting!
Отмечаем скидками до 70% на все услуги
+ бесплатная миграция сайта.

Beehosting.pro сайт использует файлы «куки»

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

Меню