Что такое 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?
Просмотры: 237

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

Facebook Instagram linkedin

Beehosting.pro website uses cookies

We use cookies to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners who may combine it with other information that you’ve provided to them or that they’ve collected from your use of their services.

Меню