yandex
Калькулятор ценEvolution Free TierТарифыАкцииДокументацияО насПартнерство с Cloud.ruБезопасностьТехническая поддержкаИнвесторамОбучение и сертификацияМероприятияБлогКарьера в Cloud.ruКейсыEvolutionAdvancedEvolution StackОблако VMwareВ чем отличия платформ?ВойтиЗарегистрироватьсяГига-помощникРешенияРазработка и тестирование в облакеИнфраструктура для 1С в облакеМиграция IT‑инфраструктуры в облакоОблако для КИИОблако для мобильных и веб‑приложений3D-моделирование и рендерингEvolution ComputeEvolution Managed KubernetesEvolution Object StorageEvolution Managed PostgreSQL®Evolution Bare MetalEvolution MigrationEvolution SSH KeysEvolution VPNEvolution DNSEvolution VPCEvolution Load BalancerEvolution Disaster RecoveryEvolution Agent BackupEvolution DiskEvolution Container AppsEvolution Container SecurityEvolution Artifact RegistryEvolution Managed KafkaEvolution Managed RedisEvolution Managed ClickHouseEvolution Managed OpenSearchEvolution API GatewayEvolution RepoEvolution Managed ArenadataDBEvolution Managed TrinoEvolution Managed SparkEvolution Managed MetastoreEvolution AI AgentsEvolution ML InferenceEvolution Foundation ModelsEvolution Managed RAGEvolution TagsEvolution Task HistoryCloud MonitoringCloud LoggingCurator Anti-DDoSCurator Anti‑DDoS+WAFUserGate: виртуальный NGFWStormWall: Anti-DDoSАренда GPUDirect ConnectCDNCloud AdvisorCross-platform connectionAdvanced Object Storage ServiceAdvanced Elastic Cloud ServerAdvanced Relational Database Service for PostgreSQLAdvanced Image Management ServiceAdvanced Auto ScalingAdvanced 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 ServerAdvanced 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: виртуальный ЦОДVMware: резервное копирование виртуальных машинУдаленные рабочие столы (VDI)VMware: виртуальный ЦОД с GPUVMware: резервный ЦОДVMware: резервное копирование в облакоVMware: миграция виртуальных машин
Связаться с нами

SSH-ключи под контролем: пошаговая инструкция по настройке и копированию

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

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

Инструкции
Иллюстрация для статьи на тему «SSH-ключи под контролем: пошаговая инструкция по настройке и копированию»
Подключенные сервисы:
Открытый и закрытый SSH-ключиОткрытый и закрытый SSH-ключи

Что нужно для настройки

Для работы понадобятся:

  • доступ к серверу по SSH;

  • имя пользователя и IP-адрес или доменное имя сервера;

  • OpenSSH или другая утилита для работы с SSH.

В примерах будем использовать ключи Ed25519. Если требуется совместимость с устаревшими системами, можно использовать RSA — асимметричную систему, где данные шифруются открытым ключом, а расшифровываются закрытым. 

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

Процесс создания ключей зависит от операционной системы. Рассмотрим основные варианты для Linux, macOS и Windows.

Загружайте SSH-ключи в облачный каталог
Загружайте SSH-ключи в облачный каталог
Добавьте открытую часть SSH-ключа к ВМ и подключайтесь удаленно без пароля — надежно и просто
Подробнее

Использование ssh-keygen на Linux и macOS

Пошаговая инструкция:

1. Откройте терминал с помощью настроенного сочетания клавиш или через меню приложений.

2. Выполните команду для генерации ключа:

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

3. Выберите путь для сохранения ключа. По умолчанию ключ сохранится в файле ~/.ssh/id_ed25519. Если вас это устраивает, нажмите Enter.

4. Укажите парольную фразу для дополнительной защиты ключа либо пропустите этот этап.

5. Проверьте, что ключи создались с помощью команды:

Должны появиться файлы:

  • id_ed25519 — закрытый ключ;

  • id_ed25519.pub — открытый ключ.

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

Для генерации ключей можно использовать встроенный в Windows 10 и 11 OpenSSH.

Действуйте так:

1. Откройте PowerShell или CMD и проверьте, доступна ли команда ssh. Если набор утилит OpenSSH не установлен, откройте «Настройки» → «Приложения» → «Дополнительные компоненты Windows».

2. Установите OpenSSH Client.

3. Откройте PowerShell и выполните команду:

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

Если требуется совместимость со старыми системами, можно использовать RSA:


4. Укажите путь для сохранения ключа. По умолчанию он сохраняется в C:\Users\<username>\.ssh\id_ed25519

Если путь подходит, нажмите Enter. Если нет — укажите другой.

5. Настройте парольную фразу, если хотите дополнительно защитить ключ.

6. Убедитесь, что ключи созданы. Зайдите в папку C:\Users\<username>\.ssh.

В ней должны появиться закрытый ключ id_ed25519 и открытый — id_ed25519.pub.

Генерация ключа с помощью PuTTYgen

Для работы со старыми системами или при необходимости можно использовать программу PuTTY и утилиту PuTTYgen.

Если программа установлена, найдите и откройте ее из меню «Пуск»:

  1. В PuTTYgen выберите тип ключа — Ed25519. Если требуется совместимость, выберите RSA с длиной 4096 бит.

  2. Нажмите кнопку Generate и подвигайте мышью в открывшемся окне.

  3. При необходимости задайте парольную фразу — Key passphrase.

  4. Нажмите Save private key и сохраните файл закрытого ключа с расширением .ppk.

  5. Сохраните публичный ключ.

  6. Скопируйте содержимое поля Public key for pasting into OpenSSH authorized_keys file. Его нужно будет добавить на сервер.

Копирование SSH-ключа на сервер

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

Автоматическое копирование с SSH-Copy-ID

SSH-Copy-ID — утилита для копирования публичного SSH-ключа на удаленный сервер.

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

Утилита подключится к серверу по SSH и попросит ввести пароль от аккаунта на удаленном сервере. После этого она автоматически добавит открытый ключ в файл ~/.ssh/authorized_keys. Также будут настроены необходимые разрешения для файлов и каталогов на сервере.

Например, ваш сервер находится по адресу 192.168.1.100, а имя пользователя — admin. Команда будет выглядеть так:

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

Как добавить ключ вручную

Если ssh-copy-id недоступна, открытый ключ можно скопировать вручную. На Linux или macOS выведите его содержимое:

На Windows откройте файл id_ed25519.pub и скопируйте его содержимое. Затем подключитесь к серверу и подготовьте каталог для ключей:

Установите права доступа:

Откройте файл authorized_keys nano ~/.ssh/authorized_keys.

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

Можно также передать ключ одной командой:

Если на сервере нет каталога .ssh или файла authorized_keys, создайте их заранее.

Загрузка ключа в облачный каталог

Если нужно загрузить открытую часть ключа в облачный каталог, можно воспользоваться сервисом Evolution SSH Keys от Cloud.ru. Сервис поддерживает импорт ключей типов RSA, DSA, ECDSA, ECDSA-SK, ED25519 и ED25519-SK.

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

Настройка аутентификации с использованием SSH-ключей

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

Проверка прав доступа

На сервере проверьте разрешения для каталогов и файлов, связанных с SSH:

  • каталог ~/.ssh должен быть доступен только владельцу:

  • файл ~/.ssh/authorized_keys должен быть доступен только владельцу:

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

Проверка настроек SSH-сервера

Проверьте конфигурационный файл SSH-сервера. Обычно он находится по пути:

Например, открыть его можно так:

Проверьте, что аутентификация по ключам включена:

При необходимости укажите файл, где хранятся разрешенные ключи AuthorizedKeysFile .ssh/authorized_keys. После внесения изменений сохраните файл и перезапустите SSH-сервис.

Для Ubuntu, Debian и других систем на их основе:

Для RHEL, CentOS и Fedora:

Проверка подключения

Перед тем как отключать вход по паролю, убедитесь, что подключение по ключу работает. Выполните команду:

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

Также можно настроить файл ~/.ssh/config:

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

Отключение проверки пароля

Отключать парольную аутентификацию стоит только после того, как вы убедились, что вход по ключу работает. Откройте файл /etc/ssh/sshd_config.

Найдите директиву PasswordAuthentication и установите значение PasswordAuthentication no. Сохраните файл и перезапустите SSH-службу. После этого для подключения к серверу будет использоваться аутентификация по ключам.

Использование SSH-агента

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

На Linux и macOS запустите агент:

Затем добавьте ключ:

В Windows можно использовать встроенную службу SSH Agent и добавить ключ командой:

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

Сервер продолжает запрашивать пароль

Проверьте:

  • добавлен ли открытый ключ в ~/.ssh/authorized_keys;

  • включена ли аутентификация по ключам;

  • используете ли вы правильное имя пользователя;

  • может ли SSH найти нужный закрытый ключ.

Permission denied при попытке подключения

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

Небезопасные разрешения на файлы

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

Проверьте настройки:

На сервере:

SSH использует не тот ключ

Если ключей несколько, SSH может перебирать их, пока не найдет нужный. Укажите конкретный ключ:

Либо настройте файл ~/.ssh/config.

Ключ не добавлен на сервер

Проверьте, что содержимое файла id_ed25519.pub полностью добавлено в ~/.ssh/authorized_keys.

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

SSH-агент не запущен

Если ключ не доступен для текущей сессии, запустите SSH-агент:

И добавьте ключ:

Что проверить после настройки

Перед тем как считать настройку завершенной, убедитесь, что:

  • пара SSH-ключей создана;

  • закрытый ключ сохранен только на вашем устройстве;

  • открытый ключ добавлен на сервер;

  • файл authorized_keys находится в домашнем каталоге нужного пользователя;

  • права доступа для .ssh и authorized_keys настроены;

  • SSH-сервер разрешает аутентификацию по ключам;

  • подключение по ключу работает;

  • парольная аутентификация отключена только после проверки подключения.

Заключение

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

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

Подключенные сервисы:
30 октября 2025

Нужна помощь с облаком?

Свяжитесь с нашим специалистом
*
*
+7
*
*
*
0/300

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