Yandex.Cloud
  • Сервисы
  • Почему Yandex.Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Yandex Compute Cloud
  • Начало работы
    • Обзор
    • Создание виртуальной машины Linux
    • Создание виртуальной машины Windows
    • Создание группы виртуальных машин
  • Пошаговые инструкции
    • Все инструкции
    • Создание виртуальной машины
      • Создать ВМ Linux
      • Создать ВМ Windows
      • Создать ВМ из набора дисков
      • Создать ВМ с дисками из снимков
      • Создать ВМ из пользовательского образа
      • Создать прерываемую ВМ
      • Создать ВМ c GPU
    • DSVM
      • Обзор
      • Создать ВМ из публичного образа DSVM
    • Группы размещения
      • Создать группу размещения
      • Удалить группу размещения
      • Создать ВМ в группе размещения
      • Добавить ВМ в группу размещения
      • Исключить ВМ из группы размещения
    • Образы с предустановленным ПО
      • Создать ВМ из публичного образа
      • Настроить ПО
      • Работа с ВМ на базе публичного образа
      • Получить список публичных образов
    • Получение информации о виртуальной машине
      • Получить информацию о ВМ
      • Получить вывод последовательного порта
    • Управление виртуальной машиной
      • Остановить и запустить ВМ
      • Подключить диск к ВМ
      • Отключить диск от ВМ
      • Перенести ВМ в другую зону доступности
      • Сделать публичный IP-адрес ВМ статическим
      • Изменить ВМ
      • Изменить вычислительные ресурсы ВМ
      • Удалить ВМ
    • Работа на виртуальной машине
      • Подключиться к ВМ по SSH
      • Подключиться к ВМ по RDP
      • Работа с Yandex.Cloud изнутри ВМ
      • Установить NVIDIA-драйверы
    • Создание нового диска
      • Создать пустой диcк
      • Создать пустой диск с блоком большого размера
    • Управление диском
      • Создать снимок диска
      • Изменить диск
      • Удалить диcк
      • Удалить снимок диска
    • Создание нового образа
      • Загрузить свой образ
    • Управление образом
      • Удалить образ
    • Управление серийной консолью
      • Начало работы
      • Подключиться к серийной консоли по SSH
      • Подключиться к серийной консоли с помощью CLI
      • Запустить командную оболочку в Windows SAC
      • Отключить доступ к серийной консоли
    • Создание группы виртуальных машин
      • Создать группу ВМ фиксированного размера
      • Создать группу ВМ фиксированного размера с балансировщиком
      • Создать автоматически масштабируемую группу ВМ
      • Создать группу ВМ с Container Optimized Image
    • Получение информации о группе виртуальных машин
      • Получить список групп ВМ
      • Получить информацию о группе ВМ
      • Получить список ВМ в группе
    • Управление группой виртуальных машин
      • Изменить группу ВМ
      • Настроить проверку состояния приложения на ВМ
      • Обновить группу
        • Постепенное обновление
        • Обновление без простоя
      • Остановить группу ВМ
      • Запустить группу ВМ
      • Удалить группу ВМ
    • Выделенные хосты
      • Создать ВМ в группе выделенных хостов
      • Создать ВМ на выделенном хосте
  • Yandex Container Solution
  • Сценарии использования
    • Настройка синхронизации времени NTP
    • Работа с группой ВМ с автоматическим масштабированием
  • Концепции
    • Взаимосвязь ресурсов
    • Виртуальные машины
      • Обзор
      • Платформы
      • Уровни производительности vCPU
      • Графические ускорители (GPU)
      • Прерываемые виртуальные машины
      • Сеть на виртуальной машине
      • Динамическая миграция
      • Группы размещения
      • Статусы
      • Метаданные
    • Диски
      • Обзор
      • Снимки дисков
    • Образы
    • Группы виртуальных машин
      • Обзор
      • Доступ
      • Шаблон виртуальной машины
      • Переменные в шаблоне виртуальной машины
      • Политики
        • Обзор
        • Политика распределения
        • Политика развертывания
        • Политика масштабирования
      • Типы масштабирования
      • Автоматическое восстановление
      • Обновление
        • Обзор
        • Распределение виртуальных машин по зонам
        • Алгоритм развертывания
        • Правила обновления виртуальных машин
      • Статусы
    • Выделенный хост
    • Резервное копирование
    • Квоты и лимиты
  • Управление доступом
  • Правила тарификации
    • Действующие правила
    • Архив
      • До 1 января 2019 года
      • С 1 января до 1 марта 2019 года
      • С 1 марта до 1 мая 2019 года
  • Справочник API
    • Аутентификация в API
    • gRPC
      • Обзор
      • DiskService
      • DiskTypeService
      • HostGroupService
      • HostTypeService
      • ImageService
      • InstanceService
      • PlacementGroupService
      • SnapshotService
      • ZoneService
      • InstanceGroupService
      • OperationService
    • REST
      • Обзор
      • Disk
        • Обзор
        • create
        • delete
        • get
        • list
        • listOperations
        • update
      • DiskType
        • Обзор
        • get
        • list
      • HostGroup
        • Обзор
        • create
        • delete
        • get
        • list
        • listHosts
        • listInstances
        • listOperations
        • update
      • HostType
        • Обзор
        • get
        • list
      • Image
        • Обзор
        • create
        • delete
        • get
        • getLatestByFamily
        • list
        • listOperations
        • update
      • Instance
        • Обзор
        • attachDisk
        • create
        • delete
        • detachDisk
        • get
        • getSerialPortOutput
        • list
        • listOperations
        • restart
        • start
        • stop
        • update
        • updateMetadata
      • PlacementGroup
        • Обзор
        • create
        • delete
        • get
        • list
        • listInstances
        • listOperations
        • update
      • Snapshot
        • Обзор
        • create
        • delete
        • get
        • list
        • listOperations
        • update
      • Zone
        • Обзор
        • get
        • list
      • Operation
        • Обзор
        • get
      • InstanceGroup
        • Обзор
        • createFromYaml
        • update
        • list
        • get
        • delete
        • start
        • stop
        • create
        • updateFromYaml
        • listLogRecords
        • listInstances
        • listOperations
  • Вопросы и ответы
    • Общие вопросы
    • Виртуальные машины
    • Диски и снимки
    • Аварийное восстановление
    • Лицензирование
    • Все вопросы на одной странице
  1. Пошаговые инструкции
  2. Работа на виртуальной машине
  3. Подключиться к ВМ по SSH

Подключиться к виртуальной машине Linux по SSH

  • Создание пары ключей SSH
  • Подключение к виртуальной машине
  • Добавление SSH-ключей для других пользователей

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

Примечание

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

Создание пары ключей SSH

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

Примечание

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

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

Linux/MacOS
Windows 10
Windows 7/8
  1. Откройте терминал.

  2. Создайте новый ключ с помощью команды ssh-keygen:

    $ ssh-keygen -t rsa -b 2048
    

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

    Публичная часть ключа будет сохранена в файле <имя_ключа>.pub. Вставьте эту часть ключа в поле SSH-ключ при создании новой виртуальной машины через консоль управления.

  1. Запустите cmd.exe или powershell.exe.

  2. Создайте новый ключ с помощью команды ssh-keygen. Выполните команду:

    $ ssh-keygen -t rsa -b 2048
    

После выполнения команды вам будет предложено указать имена файлов, в которые будут сохранены ключи и ввести пароль для закрытого ключа. По умолчанию используется имя id_rsa, ключи создаются в директории C:\Users\<имя_пользователя>\.ssh\.

Публичная часть ключа будет сохранена в файле с названием <имя_ключа>.pub. Скопируйте строку ключа в поле для публичного ключа при создании новой виртуальной машины через консоль управления.

Создание ключей для Windows будет выполняться с помощью приложения PuTTY.

  1. Скачайте и установите PuTTY.

  2. Убедитесь, что директория, куда вы установили PuTTY, присутствует в PATH:

    1. Нажмите правой кнопкой на Мой компьютер. Выберите пункт Свойства.
    2. В открывшемся окне выберите Дополнительные параметры системы, затем Переменные среды (находится в нижней части окна).
    3. В разделе Системные переменные найдите PATH и нажмите Изменить.
    4. В поле Значение переменной допишите путь к директории, куда вы установили PuTTY.
  3. Запустите приложение PuTTYgen.

  4. В качестве типа генерируемой пары выберите RSA и укажите длину 2048. Нажмите Generate и поводите курсором в поле выше до тех пор, пока не закончится создание ключа.

    ssh_generate_key

  5. В поле Key passphrase введите надежный пароль. Повторно введите его в поле ниже.

  6. Нажмите кнопку Save private key и сохраните закрытый ключ. Никогда его никому не передавайте и не говорите никому ключевую фразу от него.

  7. Сохраните ключ в текстовом файле. Для этого скопируйте открытый ключ из текстового поля в текстовый файл с названием id_rsa.pub. Обратите внимание, что ключ должен быть записан одной строкой (не должно быть переносов и разрывов строки).

  8. При создании виртуальной машины через консоль управления укажите публичный ключ. Для этого откройте файл id_rsa.pub с помощью Notepad и скопируйте значение ключа в поле SSH-ключ.

Подключение к виртуальной машине

Вы можете подключиться к виртуальной машине по протоколу SSH, когда она будет запущена (в статусе RUNNING). Для этого можно использовать утилиту ssh в Linux/macOS/Windows 10 и программу PuTTY для Windows 7/8.

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

Также можно использовать внутренние IP-адреса и FQDN для установки SSH-соединения между виртуальными машинами внутри одной облачной сети Yandex.Cloud.

Linux/macOS
Windows 10
Windows 7/8

В терминале выполните команду:

ssh <имя_пользователя>@<публичный_IP-адрес_виртуальной_машины>

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

ssh -i <путь_к_ключу/имя_файла_ключа> <имя_пользователя>@<публичный_IP-адрес_виртуальной_машины>

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

The authenticity of host '130.193.40.101 (130.193.40.101)' can't be established.
ECDSA key fingerprint is SHA256:PoaSwqxRc8g6iOXtiH7ayGHpSN0MXwUfWHkGgpLELJ8.
Are you sure you want to continue connecting (yes/no)?

Введите в терминале слово yes и нажмите Enter.

В командной строке выполните команду:

ssh <имя_пользователя>@<публичный_IP-адрес_виртуальной_машины>

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

ssh -i <путь_к_ключу\имя_файла_ключа> <имя_пользователя>@<публичный_IP-адрес_виртуальной_машины>

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

The authenticity of host '130.193.40.101 (130.193.40.101)' can't be established.
ECDSA key fingerprint is SHA256:PoaSwqxRc8g6iOXtiH7ayGHpSN0MXwUfWHkGgpLELJ8.
Are you sure you want to continue connecting (yes/no)?

Введите в командной строке yes и нажмите Enter.

В Windows соединение устанавливается с помощью приложения PuTTY.

  1. Запустите приложение Pageant.
    1. Нажмите правой кнопкой мыши на значок Pageant на панели задач.
    2. В контекстном меню выберите пункт Add key.
    3. Выберите сгенерированный PuTTY приватный ключ в формате .ppk. Если для ключа задан пароль, введите его.
  2. Запустите приложение PuTTY.
    1. В поле Host Name (or IP address) введите публичный IP-адрес виртуальной машины, к которой вы хотите подключиться. Укажите порт 22 и тип соединения SSH.

      ssh_add_ip

    2. Откройте в дереве слева пункт Connection - SSH - Auth.

    3. Установите флаг Allow agent forwarding.

    4. В поле Private key file for authentication выберите файл с приватным ключом.

      ssh_choose_private_key

    5. Вернитесь в меню Sessions. В поле Saved sessions введите любое название для сессии и нажмите кнопку Save. Настройки сессии сохранятся под указанным именем. Вы сможете использовать этот профиль сессии для подключения с помощью Pageant.

      ssh_save_session

    6. Нажмите кнопку Open. Если вы подключаетесь к машине в первый раз, может появиться предупреждение о неизвестном хосте:

      ssh_unknown_host_warning

      Нажмите кнопку Да. Откроется окно терминала с предложением ввести логин пользователя, от имени которого устанавливается соединение. Введите имя пользователя, которое вы указали при создании виртуальной машины и нажмите Enter. Если все настроено верно, будет установлено соединение с сервером.

      ssh_login

Если вы сохранили профиль сессии в PuTTY, в дальнейшем для установки соединения можно использовать Pageant:

  1. Нажмите правой кнопкой мыши на значок pageant на панели задач.
  2. Выберите пункт меню Saved sessions.
  3. В списке сохраненных сессий выберите нужную сессию.

Добавление SSH-ключей для других пользователей

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

  1. Зайдите на виртуальную машину под именем пользователя, которого вы указали при создании виртуальной машины в консоли управления. Если виртуальная машина создавалась через CLI, то пользователь по умолчанию yc-user.

    Примечание

    Получить информацию о виртуальной машине вместе с пользовательскими метаданными можно с помощью команды:

    $ yc compute instance get --full <имя-виртуальной-машины>
    
  2. Создайте нового пользователя и укажите для него оболочку bash для использования по умолчанию:

    $ sudo useradd -m -d /home/testuser -s /bin/bash testuser
    
  3. Переключитесь на созданного пользователя:

    $ sudo su - testuser
    
  4. Создайте папку .ssh в домашней директории нового пользователя:

    $ mkdir .ssh
    
  5. Создайте в папке .ssh файл authorized_keys:

    $ touch .ssh/authorized_keys
    
  6. Добавьте в файл authorized_keys публичный ключ нового пользователя:

    $ echo "<публичный_ключ>" > /home/testuser/.ssh/authorized_keys
    
  7. Измените права доступа к файлу authorized_keys и каталогу .ssh:

    $ chmod 700 ~/.ssh
    $ chmod 600 ~/.ssh/authorized_keys
    
  8. Отключитесь от виртуальной машины командой exit.

  9. Перезапустите виртуальную машину.

  10. Проверьте подключение для нового пользователя:

    $ ssh testuser@<публичный-IP-адрес-ВМ>
    

Что дальше

  • Узнайте, как работать с Yandex.Cloud изнутри виртуальной машины
В этой статье:
  • Создание пары ключей SSH
  • Подключение к виртуальной машине
  • Добавление SSH-ключей для других пользователей
Language
Вакансии
Политика конфиденциальности
Условия использования
© 2021 ООО «Яндекс.Облако»