yandex
Калькулятор ценТарифыАкцииДокументацияО насКарьера в Cloud.ruНовостиЮридические документыКонтактыРешенияРеферальная программаКейсыПартнерство с Cloud.ruБезопасностьEvolutionAdvancedEvolution StackОблако VMwareML SpaceВ чем отличия платформ?БлогОбучение и сертификацияМероприятияИсследования Cloud.ruЛичный кабинетВойтиЗарегистрироватьсяEvolution ComputeEvolution Managed KubernetesEvolution Object StorageEvolution Managed PostgreSQL®Облако для мобильных и веб‑приложенийАналитика данных в облакеEvolution Bare MetalEvolution SSH KeysEvolution ImageСайт в облакеEvolution DNSEvolution VPCEvolution Load BalancerEvolution Magic RouterEvolution DiskХранение данных в облакеEvolution Container AppsEvolution Artifact RegistryEvolution Managed ArenadataDBEvolution Managed TrinoEvolution Managed SparkАналитика данных в облакеEvolution ML InferenceEvolution Distributed TrainEvolution ML FinetuningEvolution NotebooksCurator Anti-DDoSCurator Anti‑DDoS+WAFUserGate: виртуальный NGFWStormWall: Anti-DDoSEvolution TagsEvolution Task HistoryCloud MonitoringCloud LoggingАренда GPUAdvanced Object Storage ServiceAdvanced Elastic Cloud ServerAdvanced Relational Database Service for PostgreSQLРазработка и тестирование в облакеAdvanced Image Management ServiceAdvanced Auto ScalingDirect ConnectCDNCross-platform connectionAdvanced Enterprise RouterAdvanced Cloud Backup and RecoveryAdvanced Data Warehouse ServiceAdvanced Elastic Volume ServiceAdvanced Cloud Container EngineAdvanced FunctionGraphAdvanced Container Guard ServiceAdvanced Software Repository for ContainerAdvanced Document Database Service with MongoDBAdvanced Relational Database Service for MySQLAdvanced Relational Database Service for SQL ServerCloud AdvisorAdvanced Server Migration ServiceAdvanced Data Replication ServiceAdvanced API GatewayAdvanced CodeArtsAdvanced Distributed Message Service for KafkaAdvanced Distributed Message Service for RabbitMQAdvanced DataArts InsightAdvanced CloudTableAdvanced MapReduce ServiceAdvanced Cloud Trace ServiceAdvanced Application Performance ManagementAdvanced Identity and Access ManagementAdvanced Enterprise Project Management ServiceVMware: виртуальный ЦОД с GPUVMware: виртуальный ЦОДУдаленные рабочие столы (VDI)VMware: сервер Bare MetalИнфраструктура для 1С в облакеУдаленные рабочие столыМиграция IT‑инфраструктуры в облако3D-моделирование и рендерингVMware: резервное копирование виртуальных машинVMware: резервный ЦОДVMware: резервное копирование в облакоVMware: миграция виртуальных машин
Поиск
Связаться с нами

SSH для начинающих: установка, настройка и первые команды

SSH (Secure Shell) — это современный криптографический сетевой протокол. Он обеспечивает безопасное зашифрованное соединение между двумя устройствами в небезопасной сети, например, в интернете.

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

Инструкции
Иллюстрация для статьи на тему «SSH для начинающих: установка, настройка и первые команды»
Продукты из этой статьи:
Иконка-Evolution SSH Keys
Evolution SSH Keys

Основы SSH

Что такое SSH и как он работает

SSH создает зашифрованный туннель связи, благодаря которому информация будет защищена от перехвата и несанкционированного доступа. Протокол поддерживает разные варианты аутентификации: GSSAPI, hast-based, public key/certificates, keybord interactive, password.

В статье будем рассматривать самый безопасный способ аутентификации, по публичным ключам. Про остальные вы можете узнать, если введете команду man ssh — после выполнения откроется страница со справочными материалами.

SSH работает благодаря паре цифровых кодов — открытому и закрытому SSH-ключу:

  • Закрытый, или приватный SSH-ключ, хранится у вас на устройстве. Этот ключ кроме вас никто не знает.

  • Открытый, или публичный SSH-ключ — часть, которую вы сообщаете серверу или устройству, с которым надо обменяться данными. Закрытый ключ бесполезен без открытого.

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

  1. Вы создаете пару SSH-ключей. Приватный оставляете себе, а публичный отправляете на сервер.

  2. При попытке входа сервер смотрит, есть ли в файле .ssh/authorized_keys открытый ключ. Если есть, сервер генерирует случайное число, шифрует его с помощью открытого ключа и отправляет вам.

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

  4. Сервер проверяет, совпадает ли результат от пользователя с тем числом, которое было зашифровано. Если все совпадает, аутентификация пройдена, и вы получаете доступ к серверу.

Ключевые компоненты SSH

Безопасное взаимодействие двух устройств обеспечивают две важные составляющие SSH-протокола: клиент и сервер. Расскажем, что это такое и как они взаимодействуют.

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

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

Дарим до 20 000 бонусов
Дарим до 20 000 бонусов
4 000 бонусов — физическим лицам, 20 000 бонусов — юридическим

Установка SSH-клиента

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

В этом разделе расскажем, как установить утилиту OpenSSH на Linux и Windows.

Установка OpenSSH на Linux

В Linux обе части OpenSSH — и клиент, и сервер — нужно установить отдельными пакетами. Рассмотрим команды для дистрибутивов Linux, которые используют пакетный менеджер APT: Ubuntu, Debian и Linux Mint. Информацию по установке для других дистрибутивов можно найти в их документации.

Чтобы установить клиент, введите в командной строке:

Чтобы установить OpenSSH-сервер и связанные с ним вспомогательные файлы, выполните следующую команду:

Загрузите открытый ключ в облако Evolution SSH Keys
Загрузите открытый ключ в облако Evolution SSH Keys
Импортируйте в облако SSH ключи с разными типами шифрования, просматривайте их свойства и используйте для доступа к ВМ.
Узнать больше

Установка OpenSSH на Windows

OpenSSH-клиент предустановлен в Windows 10 и новее, а вот серверную часть нужно устанавливать отдельно. Здесь расскажем о двух способах, как установить сервер и клиент, если его все же нет на устройстве.

  1. Через интерфейс. Перейдите в ПараметрыПриложенияДополнительные компонентыДобавить компонент. Найдите в списке OpenSSH Client и нажмите Установить.

  2. Через PowerShell. Запустите PowerShell от имени администратора и выполните команду:

Что должны вернуть обе команды после выполненияЧто должны вернуть обе команды после выполнения

Настройка SSH-сервера

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

Перед тем, как вносить изменения, советуем:

  1. Открыть вторую сессию SSH на сервере — на случай, если текущая разорвется из-за ошибки в конфигурации.

  2. Не закрывать первоначальную сессию, пока не убедитесь, что новая конфигурация работает верно.

  3. Создать резервную копию основного файла конфигурации SSH-сервера (sshd). 

В Windows конфигурационный файл по умолчанию находится в /etc/ssh/sshd_config, и для создания резервной копии нужно выполнить команду:

В Linux скопируйте файл конфигурации и добавьте в команду ниже дату:

Эта команда создаст резервную копию с названием sshd_config_backup_2025-10-20.

Что касается настроек безопасности, они производятся в конфигурационном файле (sshd). Чтобы открыть его, выполните sudo nano /etc/ssh/sshd_config для Linux или notepad C:\ProgramData\ssh\sshd_config для Windows.

Общие настройки SSH-сервера для обеих ОС будут такими:

1. Измените порт со стандартного 22 на нестандартный. Порт 22, который выставляется по умолчанию, — зачастую цель для атак ботов. А еще он относится к well-known портам (порты с 0 до 1023), которые зарезервированы для стандартных системных служб и популярных сетевых протоколов. Используйте любой незанятый номер порта, начиная с 1024, к примеру, 2233:

2. Отключите аутентификацию по паролю и включите аутентификации по ключу. Это одна из самых важных мер безопасности. Она принуждает использовать ключи SSH, которые значительно надежнее паролей.

3. Запретите прямой вход администратора (root).

4. Ограничьте круг пользователей, у которых есть доступ к серверу. Это уменьшает риски атак и взломов, так как войти смогут только пользователи, которые вы укажете.

5. Отключите ненужные функции, которые не используете, например:

6. Установите тайм-аут на сессию:

После выполнения этой команды сервер будет проверять активность SSH-клиента каждые десять минут.

7. Используйте fail2ban для защиты от брутфорса:

8. Защитите ключи и задайте доступы: только себе для приватного ключа и всем для открытого.

9. Регулярно обновляйте SSH командой:

10. Проверьте логи сервера:

11. Сохраните файл и перезагрузите службу SSH, чтобы изменения вступили в силу:

AI-помощник создаст SSH‑ключ за вас
AI-помощник создаст SSH‑ключ за вас
А еще создаст ВМ, подберет ей конфигурацию под ваши задачи и сориентирует в документации.
Больше про AI-помощника

Генерация SSH-ключей

Чтобы создать SSH-ключи, выполните:

Команда, которую нужно ввести для копирования открытого ключа на сервер, зависит от вашей операционной системы.

Для Ubuntu:

Для Windows:

Информацию о том, как еще использовать команду ssh, вы найдете в официальной документации OpenSSH или при введении в терминал команды man sshИнформацию о том, как еще использовать команду ssh, вы найдете в официальной документации OpenSSH или при введении в терминал команды man ssh

Подключение к серверу через SSH

Перечислим команды, которые понадобятся для подключения к серверу. А еще рассмотрим PuTTY — альтернативный SSH-клиент для Windows, который можно использовать вместо OpenSSH. 

Использование командной строки для подключения

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

Использование PuTTY на Windows

Перед тем, как подключиться к серверу через PuTTY, нужно создать пару SSH-ключей и настроить сессию. Вот как это сделать:

  1. Установите PuTTY с официального сайта и запустите PuTTYgen, утилита входит в комплект PuTTY. С ее помощью вы создадите пару SSH-ключей — публичный и приватный.

  2. После генерации ключей настройте подключение в основном клиенте PuTTY. В разделе Session укажите IP-адрес или имя хоста вашего сервера и убедитесь, что установлен не 22 порт. Тип соединения — SSH.

  3. Перейдите в раздел Connection → Data. В поле Auto-login username введите имя пользователя для подключения к серверу, например, sysadmin.

  4. В разделе Connection → SSH → Auth нажмите Browse и выберите сохраненный файл закрытого ключа — он хранится в формате .ppk.

  5. Опциональный шаг — сохранение сессии. Вернитесь в Session, введите название в Saved Sessions и нажмите Save, чтобы использовать настройки сессии в будущем.

После этих шагов можно подключаться к серверу:

  1. Нажмите Open.

  2. При первом подключении PuTTY покажет предупреждение безопасности с отпечатком ключа хоста (RSA key fingerprint). Убедитесь, что отпечаток совпадает с тем, что предоставил администратор сервера.

  3. Если все настроено верно, аутентификация пройдет автоматически с помощью закрытого ключа. Вы увидите сообщение: «Authentication using public key».

Команды SSH для работы с файлами

В работе с SSH пригодится команда scp — она позволяет безопасно копировать файлы с сервера с использованием Secure Copy Protocol:

Команда sftp позволяет работать с SSH File Transfer Protocol (SFTP). Он шифрует все передаваемые данные, в том числе информацию о пользователе, что обеспечивает конфиденциальность и защищает данные от перехвата. С безопасный протокол для передачи файлов, который работает поверх SSH-соединения. SFTP дает возможность передавать файлы, создавать каталоги, управлять правами, возобновлять прерванные задачи.

sftp для передачи файлов:

Для управления файлами и каталогами:

Для возобновления процессов:

Больше информации о командах, которые доступны в OpenSSH, вы найдете в мануале OpenSSHБольше информации о командах, которые доступны в OpenSSH, вы найдете в мануале OpenSSH

Устранение неполадок и лучшие практики

Частые проблемы и их решения

Рассказываем, какие ошибки при работе с SSH-серверами могут возникнуть и что делать, чтобы их исправить:

  • Connection Refused (отказано в соединении). Проверьте, запущен ли SSH-сервер, откройте порт в файрволе и посмотрите, правильно ли он указан.

  • Permission Denied (разрешение отклонено). Установите права доступа к ключу только для себя: chmod 600. Добавьте публичный ключ в authorized_keys.

  • Too Many Authentication Failures (слишком много неудачных попыток). Очистите кеш ключей (ssh-add -D), увеличьте лимит попыток в конфиге (MaxAuthTries 6).

  • Нестабильное соединение. Включите сжатие командой ssh -C, установите KeepAlive: ServerAliveInterval 30.

  • Нет доступа к root-аккаунту . Выполните вход через обычного пользователя и используйте su -. Временно разрешите root-вход в sshd_config.

  • Потеря ключей или повреждение файлов ключей. Создайте новые ключи командой ssh-keygen и загрузите публичный ключ на сервер, выполнив ssh-copy-id.

  • Опечатки в конфигурационном файле. Сделайте резервную копию файла, исправьте ошибки и перезапустите SSH с sudo systemctl restart sshd.

Рекомендации по безопасности

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

  • Защитите ключи. Установите passphrase на приватные ключи, установите права на доступ к ним только для себя командой chmod 600. А публичные ключи откройте для всех: выполните chmod 644. Храните приватные ключи только на своем устройстве.

  • Используйте разные ключи для разных сервисов, например, один для GitHub, второй для рабочих серверов, третий — для личных. Регулярно обновляйте ключи, примерно раз в один-два года, и делайте бэкапы.

  • Для безопасности сервера не используйте стандартные порты, отключите аутентификацию по паролю и используйте AllowUsers для ограничения доступа.

  • Перед тем, как вносить изменения в конфигурационный файл, делайте бэкапы конфигов и тестируйте все в параллельной сессии в терминале. А еще не закрывайте рабочую сессию до того, как не убедитесь, что в новой конфигурации все работает правильно.

  • Проверяйте и чистите authorized_keys, мониторьте логи подключений и обновляйте SSH-софт.

Заключение

SSH — мощный протокол, который позволяет защитить данные при их передаче между компьютером и удаленным сервером. В статье мы осветили базовые моменты по установке OpenSSH, рассказали об основных командах и дали советы, как создать безопасную конфигурацию. Чтобы больше погрузиться в тему, можете изучить SSH-туннелирование, или проброс портов, настройку SSH-конфигурации клиента (~/.ssh/config), использование SSH-агента для управления ключами и более сложные сценарии вроде jump-host и certificate-based аутентификации.

Продукты из этой статьи:
Иконка-Evolution SSH Keys
Evolution SSH Keys
17 октября 2025

Вам может понравиться