Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»
Yandex Compute Cloud
  • Yandex Container Solution
    • Все руководства
    • Настройка синхронизации часов с помощью NTP
    • Автомасштабирование группы ВМ для обработки сообщений из очереди
    • Обновление группы ВМ под нагрузкой
    • Развертывание Remote Desktop Gateway
    • Начало работы с Packer
    • Передача логов с ВМ в Yandex Cloud Logging
    • Сборка образа ВМ с набором инфраструктурных инструментов с помощью Packer
    • Миграция в Yandex Cloud с помощью Хайстекс Акура
    • Защита от сбоев с помощью Хайстекс Акура
    • Резервное копирование ВМ с помощью Хайстекс Акура
    • Развертывание отказоустойчивой архитектуры с прерываемыми ВМ
    • Настройка отказоустойчивой архитектуры в Yandex Cloud
    • Создание триггера для бюджетов, который вызывает функцию для остановки ВМ
    • Создание триггеров, которые вызывают функции для остановки ВМ и отправки уведомлений в Telegram
    • Создание веб-приложения на Python с использованием фреймворка Flask
    • Создание SAP-программы в Yandex Cloud
    • Развертывание сервера Minecraft в Yandex Cloud
    • Автоматизация сборки образов с помощью Jenkins и Packer
    • Создание тестовых виртуальных машин через GitLab CI
    • Высокопроизводительные вычисления (HPC) на прерываемых ВМ
    • Настройка SFTP-сервера на Centos 7
    • Развертывание параллельной файловой системы GlusterFS в высокодоступном режиме
    • Развертывание параллельной файловой системы GlusterFS в высокопроизводительном режиме
    • Резервное копирование в Object Storage с помощью Bacula
    • Построение пайплайна CI/CD в GitLab с использованием serverless-продуктов
    • Реализация защищенной высокодоступной сетевой инфраструктуры с выделением DMZ на основе Check Point NGFW
    • Сегментация облачной инфраструктуры с помощью решения Check Point Next-Generation Firewall
    • Настройка защищенного туннеля GRE поверх IPsec
    • Создание бастионного хоста
    • Реализация отказоустойчивых сценариев для сетевых виртуальных машин
    • Создание туннеля между двумя подсетями при помощи OpenVPN Access Server
    • Создание внешней таблицы на базе таблицы из бакета Object Storage с помощью конфигурационного файла
    • Настройка сетевой связности между подсетями BareMetal и Virtual Private Cloud
    • Работа со снапшотами в Managed Service for Kubernetes
    • Запуск языковой модели DeepSeek-R1 в кластере GPU
    • Запуск библиотеки vLLM с языковой моделью Gemma 3 на ВМ с GPU
    • Доставка USB-устройств на виртуальную машину или сервер BareMetal
  • Управление доступом
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Обучающие курсы

В этой статье:

  • Перед началом работы
  • Необходимые платные ресурсы
  • Создайте пару ключей SSH
  • Создайте внешнюю и внутреннюю сети
  • Создайте внешнюю сеть и подсеть
  • Создайте внутреннюю сеть и подсеть
  • Создайте группы безопасности
  • Создайте группу безопасности бастионного хоста
  • Создайте группу безопасности для внутренних хостов
  • Зарезервируйте статический публичный IP-адрес
  • Создайте виртуальную машину для бастионного хоста
  • Протестируйте бастионный хост
  • Добавьте виртуальный сервер во внутренний сегмент бастионного хоста
  • Подключитесь к созданной ВМ
  • Дополнительные опции подключения
  • Использование SSH-агента для подключения через бастионный хост
  • Доступ к сервисам через SSH-туннели
  • Передача файлов
  • Как удалить созданные ресурсы
  1. Практические руководства
  2. Создание бастионного хоста

Создание бастионного хоста

Статья создана
Yandex Cloud
Обновлена 16 января 2025 г.
  • Перед началом работы
    • Необходимые платные ресурсы
  • Создайте пару ключей SSH
  • Создайте внешнюю и внутреннюю сети
    • Создайте внешнюю сеть и подсеть
    • Создайте внутреннюю сеть и подсеть
  • Создайте группы безопасности
    • Создайте группу безопасности бастионного хоста
    • Создайте группу безопасности для внутренних хостов
  • Зарезервируйте статический публичный IP-адрес
  • Создайте виртуальную машину для бастионного хоста
  • Протестируйте бастионный хост
  • Добавьте виртуальный сервер во внутренний сегмент бастионного хоста
  • Подключитесь к созданной ВМ
  • Дополнительные опции подключения
    • Использование SSH-агента для подключения через бастионный хост
    • Доступ к сервисам через SSH-туннели
    • Передача файлов
  • Как удалить созданные ресурсы

Примечание

В регионе Казахстан доступна только зона доступности kz1-a.

Если вы когда-нибудь интересовались строительством древних фортификационных сооружений, то слово «бастион» должно быть вам знакомо. Бастионом назывался элемент внешней стены крепости, выступающий за ее основной контур. Как и средневековые крепости, компьютерные сети нуждаются в многоуровневой защите от внешнего вторжения. Роль бастионов в сетях выполняют так называемые бастионные хосты, образующие часть сетевого периметра.

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

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

Чтобы создать бастионный хост:

  1. Подготовьте облако к работе.
  2. Создайте пару ключей SSH.
  3. Создайте сети.
  4. Создайте группы безопасности.
  5. Зарезервируйте статический публичный IP-адрес.
  6. Создайте виртуальную машину для бастионного хоста.
  7. Протестируйте бастионный хост.
  8. Добавьте виртуальный сервер во внутренний сегмент бастионного хоста.
  9. Подключитесь к созданной ВМ.

Если созданные ресурсы вам больше не нужны, удалите их.

test-vm172.16.16.12172.16.16.254172.16.17.12 51.250.110.18Публичный IPbastion-internal-segmentVPCОБЛАКОbastion-external-segmentbastion-hostinternal-bastion-sg Группа безопасности Исходящий: TCP, порт 22, в эту же ГБ Входящий: TCP, порт 22, от 172.16.16.254/32secure-bastion-sg Группа безопасности Входящий: TCP, порт 22, от 0.0.0.0/0

Перед началом работы

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.

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

Подробнее об облаках и каталогах.

Необходимые платные ресурсы

В стоимость поддержки инфраструктуры входит:

  • плата за диски и постоянно запущенные ВМ (см. тарифы Yandex Compute Cloud);
  • плата за использование внешнего IP-адреса (см. тарифы Yandex Virtual Private Cloud).

Создайте пару ключей SSH

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

Примечание

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

Роутер Cisco Cloud Services Router (CSR) 1000v поддерживает только ключи, сгенерированные по алгоритму RSA.

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

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

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

    ssh-keygen -t rsa -b 2048
    

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

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

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

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

    ssh-keygen -t rsa -b 2048
    

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

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

Создайте ключи с помощью приложения PuTTY:

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

  2. Добавьте папку с PuTTY в переменную PATH:

    1. Нажмите кнопку Пуск и в строке поиска Windows введите Изменение системных переменных среды.
    2. Справа снизу нажмите кнопку Переменные среды....
    3. В открывшемся окне найдите параметр PATH и нажмите Изменить.
    4. Добавьте путь к папке в список.
    5. Нажмите кнопку ОК.
  3. Запустите приложение PuTTYgen.

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

    ssh_generate_key

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

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

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

Важно

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

Создайте внешнюю и внутреннюю сети

Создайте внешнюю сеть и подсеть

Консоль управления
  1. В консоли управления перейдите в каталог, в котором вы создаете инфраструктуру для бастионного хоста.

  2. В списке сервисов выберите Virtual Private Cloud.

  3. В правом верхнем углу нажмите кнопку Создать сеть.

  4. Задайте имя сети: external-bastion-network.

  5. Отключите опцию Создать подсети.

  6. Нажмите кнопку Создать сеть.

  7. Создайте подсеть:

    1. Справа сверху нажмите кнопку Создать подсеть.

    2. Укажите параметры подсети:

      • Имя — bastion-external-segment.
      • Зона — ru-central1-b.
      • CIDR — 172.16.17.0/28.
    3. Нажмите кнопку Создать подсеть.

Создайте внутреннюю сеть и подсеть

Консоль управления
  1. В консоли управления перейдите в каталог, в котором вы создаете инфраструктуру для бастионного хоста.

  2. В списке сервисов выберите Virtual Private Cloud.

  3. В правом верхнем углу нажмите кнопку Создать сеть.

  4. Задайте имя сети: internal-bastion-network.

  5. Отключите опцию Создать подсети.

  6. Нажмите кнопку Создать сеть.

  7. Создайте подсеть:

    1. Справа сверху нажмите кнопку Создать подсеть.

    2. Укажите параметры подсети:

      • Имя — bastion-internal-segment.
      • Зона — ru-central1-b.
      • CIDR — 172.16.16.0/24.
    3. Нажмите кнопку Создать подсеть.

Создайте группы безопасности

Создайте группу безопасности бастионного хоста

Создайте группу безопасности и настройте правила для входящего трафика на бастионном хосте, чтобы обеспечить к нему доступ из интернета:

Консоль управления
  1. В консоли управления перейдите в каталог, в котором вы создаете инфраструктуру для бастионного хоста.

  2. В списке сервисов выберите Virtual Private Cloud и сеть external-bastion-network.

  3. В меню слева выберите Группы безопасности.

  4. Нажмите кнопку Создать группу безопасности.

  5. Задайте имя группы безопасности: secure-bastion-sg.

  6. В блоке Правила перейдите на вкладку Входящий трафик и нажмите кнопку Добавить правило.

  7. Укажите настройки правила:

    • Диапазон портов — 22.
    • Протокол — TCP.
    • Источник — CIDR.
    • CIDR блоки — 0.0.0.0/0.
  8. Нажмите кнопку Сохранить в окне создания правила, а затем — в окне создания группы безопасности.

Создайте группу безопасности для внутренних хостов

Создайте группу безопасности и настройте правила для входящего трафика, идущего с бастионного хоста на внутренние хосты:

Консоль управления
  1. В консоли управления перейдите в каталог, в котором вы создаете инфраструктуру для бастионного хоста.

  2. В списке сервисов выберите Virtual Private Cloud и сеть internal-bastion-network.

  3. В меню слева выберите Группы безопасности.

  4. Нажмите кнопку Создать группу безопасности.

  5. Задайте имя группы безопасности: internal-bastion-sg.

  6. В блоке Правила перейдите на вкладку Входящий трафик и нажмите кнопку Добавить правило.

  7. Укажите настройки правила:

    • Диапазон портов — 22.
    • Протокол — TCP.
    • Источник — CIDR.
    • CIDR блоки — 172.16.16.254/32.
  8. Нажмите кнопку Сохранить в окне создания правила.

  9. Перейдите на вкладку Исходящий трафик и нажмите кнопку Добавить правило.

  10. Укажите настройки правила:

    • Диапазон портов — 22.
    • Протокол — TCP.
    • Назначение — Группа безопасности.
    • Группа безопасности — Текущая.
  11. Нажмите кнопку Сохранить в окне создания правила, а затем — в окне создания группы безопасности.

Зарезервируйте статический публичный IP-адрес

Для работы бастионному хосту потребуется статический публичный IP-адрес.

Консоль управления
  1. В консоли управления перейдите в каталог, в котором вы создаете инфраструктуру для бастионного хоста.
  2. В списке сервисов выберите Virtual Private Cloud.
  3. На панели слева выберите IP-адреса.
  4. Нажмите кнопку Зарезервировать адрес.
  5. В открывшемся окне выберите зону доступности ru-central1-b.
  6. Нажмите кнопку Зарезервировать.

Создайте виртуальную машину для бастионного хоста

После того как вы создали подсеть и группу безопасности, перейдите к созданию виртуального сервера для бастионного хоста:

Консоль управления
  1. На странице каталога в консоли управления нажмите кнопку Создать ресурс и выберите Виртуальная машина.

  2. В блоке Образ загрузочного диска в поле Поиск продукта введите NAT-инстанс на основе Ubuntu 22.04 LTS и выберите публичный образ NAT-инстанс на основе Ubuntu 22.04 LTS.

  3. В блоке Расположение выберите зону доступности ru-central1-b.

  4. В блоке Сетевые настройки настройте первый сетевой интерфейс:

    • Подсеть — bastion-external-segment.
    • Публичный IP-адрес — нажмите Список и выберите зарезервированный ранее IP-адрес.
    • Группы безопасности — secure-bastion-sg.
  5. Нажмите Добавить сетевой интерфейс и настройте второй сетевой интерфейс:

    • Подсеть — bastion-internal-segment.
    • Публичный IP-адрес — Без адреса.
    • Группы безопасности — internal-bastion-sg.
    • Разверните блок Дополнительно и в поле Внутренний IPv4 адрес выберите Вручную.
    • В появившемся поле для ввода укажите 172.16.16.254.

    Примечание

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

    Публичный IP-адрес указывается только для внешнего сегмента. Для внутреннего сегмента указывается внутренний статический IP-адрес.

  6. В блоке Доступ выберите вариант SSH-ключ и укажите данные для доступа на ВМ:

    • В поле Логин введите имя пользователя: bastion.
    • В поле SSH-ключ выберите SSH-ключ, сохраненный в вашем профиле пользователя организации.

      Если в вашем профиле нет сохраненных SSH-ключей или вы хотите добавить новый ключ:

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

      SSH-ключ будет добавлен в ваш профиль пользователя организации.

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

  7. В блоке Общая информация задайте имя ВМ: bastion-host.

  8. Нажмите кнопку Создать ВМ.

Когда серверная ВМ запустится и перейдет в статус Running, вы сможете увидеть назначенный ей публичный IP-адрес в поле Публичный IP-адрес.

Протестируйте бастионный хост

После запуска бастионного хоста попробуйте подключиться к нему через SSH-клиент:

ssh -i ~/.ssh/<имя_файла_приватного_ключа> bastion@<публичный_IP_адрес_бастионного_хоста>

Добавьте виртуальный сервер во внутренний сегмент бастионного хоста

Для администрирования ваших серверов добавьте сетевой интерфейс во внутренний сетевой сегмент бастионного хоста — bastion-internal-segment.

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

Консоль управления
  1. На странице каталога в консоли управления нажмите кнопку Создать ресурс и выберите Виртуальная машина.

  2. В блоке Образ загрузочного диска выберите публичный образ с произвольной операционной системой, например Ubuntu 22.04 LTS.

  3. В блоке Расположение выберите зону доступности ru-central1-b.

  4. В блоке Сетевые настройки настройте сетевой интерфейс:

    • Подсеть — bastion-internal-segment.
    • Публичный IP-адрес — Без адреса.
    • Группы безопасности — internal-bastion-sg.
    • Разверните блок Дополнительно и в поле Внутренний IPv4-адрес выберите Автоматически.
  5. В блоке Доступ выберите вариант SSH-ключ и укажите данные для доступа на ВМ:

    • В поле Логин введите имя пользователя: test.
    • В поле SSH-ключ выберите SSH-ключ, сохраненный в вашем профиле пользователя организации.

      Если в вашем профиле нет сохраненных SSH-ключей или вы хотите добавить новый ключ:

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

      SSH-ключ будет добавлен в ваш профиль пользователя организации.

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

  6. В блоке Общая информация задайте имя ВМ: test-vm.

  7. Нажмите кнопку Создать ВМ.

Подключитесь к созданной ВМ

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

Для упрощения SSH-доступа и его настройки добавьте параметр -J (ProxyJump) в команду SSH:

ssh -i ~/.ssh/<имя_файла_приватного_ключа> -J bastion@<публичный_IP_адрес_бастионного_хоста> test@<внутренний_IP_адрес_виртуального_сервера>

SSH-клиент автоматически подключится к внутреннему серверу.

Флаг -J поддерживается в OpenSSH начиная с версии 7.3. В более ранних версиях -J недоступен. В таком случае самый безопасный и простой способ — это использовать перенаправление стандартного ввода-вывода (флаг -W) для «проброса» соединения через бастионный хост. Например:

ssh -i ~/.ssh/<имя_файла_приватного_ключа> -o ProxyCommand="ssh -W %h:%p bastion@<публичный_IP_адрес_бастионного_хоста>" test@<внутренний_IP_адрес_виртуального_сервера>

Дополнительные опции подключения

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

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

Добавить ключ в аутентификационный агент можно с помощью команды ssh-add. Если ключ хранится в файле ~/.ssh/id_rsa, он будет добавлен автоматически. Вы также можете указать, какой конкретно ключ нужно использовать, при помощи следующей команды:

ssh-add <путь_к_файлу_ключа>

Пользователи macOS могут настроить у себя файл ~/.ssh/config. Тогда ключи можно будет загрузить в агент при помощи следующей команды:

AddKeysToAgent yes

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

ssh -A bastion@<публичный_IP_адрес_бастионного_хоста>

Пользователи Windows могут использовать агент Pageant и загрузить в него свой файл приватного ключа. Затем, чтобы обеспечить проброс агента, нужно в окне настроек PuTTY выбрать Соединение → SSH → Аутентификация.

Доступ к сервисам через SSH-туннели

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

Основные типы SSH-туннелей — локальные, удаленные и динамические:

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

    Например, можно подключить локальный порт 8080 к адресу IP_адрес_веб_сервера:80, который доступен с вашего бастионного хоста, а затем в браузере открыть http://localhost:8080:

    ssh bastion@<публичный_IP_адрес_бастионного_хоста> -L 8080:<IP_адрес_веб_сервера>:80
    
  • Удаленный туннель работает в обратном, по отношению к локальному туннелю, направлении, открывая локальный порт для подключения к удаленному серверу.

  • Динамический туннель предоставляет SOCKS-прокси на локальном порту, при этом подключения устанавливаются с удаленного хоста. Например, можно настроить динамический туннель на порту 1080, а затем в браузере указать его как SOCKS-прокси. В итоге вы сможете подключаться ко всем ресурсам, которые доступны с вашего бастионного хоста и находятся в приватной подсети.

    ssh bastion@<публичный_IP_адрес_бастионного_хоста> -D 1080
    

Эти методики основаны на простой замене, при которой зачастую требуется VPN-подключение, а также сочетание с подключениями ProxyJump или ProxyCommand.

Пользователи Windows могут настроить туннели через PuTTY, выбрав Подключение → SSH → Туннели.

Для простого установления подключений к сервисам удаленного рабочего стола (Remote Desktop Services, RDS) — т.е. работающим хостам Windows в облаке — можно использовать переадресацию портов (в особенности, локальную) путем установления туннельного подключения на порт 3389 и последующего подключения к localhost через RDS-клиент. Если RDS уже ожидает подключения на локальной машине, вы можете выбрать другой порт, как показано в примере:

ssh bastion@<публичный_IP_адрес_бастионного_хоста> -L 3390:<IP_адрес_Windows_хоста>:3389

Передача файлов

Для клиентов и серверов Linux можно настроить протокол SCP для безопасной передачи файлов через бастионный хост на внутренние хосты и обратно. Для этого используются те же опции ProxyCommand и ProxyJump, указываемые в командной строке SSH. Например:

scp -o "ProxyJump bastion@<публичный_IP_адрес_бастионного_хоста>" <имя_файла> bastion@<внутренний_IP_адрес_виртуального_сервера>:<путь_к_файлу>

Если вы используете Windows-клиент, то одно из наиболее популярных SCP-приложений на Windows — это WinSCP. Чтобы передать файлы через бастионный хост на удаленную машину Linux, выполните следующие действия:

  1. Создайте сеанс подключения к IP-адресу приватного хоста без пароля. Настройте SSH-ключ на машине Linux.
  2. В меню навигации слева нажмите Дополнительно и выберите Туннель.
  3. Введите IP-адрес и имя пользователя для вашего бастионного хоста. В поле Файл закрытого ключа выберите и установите файл закрытого ключа, который вы будете использовать для аутентификации на бастионном хосте.
  4. В меню навигации слева в блоке SSH выберите Аутентификация.
  5. Проверьте, что установлена опция Разрешить пересылку агента.
  6. Выберите закрытый ключ для аутентификации на приватном хосте.

Такая настройка позволяет осуществлять непосредственную передачу файлов между машиной Windows и приватным хостом Linux. При этом соединение будет защищено бастионным хостом.

В случае хостов Windows, расположенных за бастионом Linux, передачу файлов можно осуществлять при помощи протокола RDP через туннель. Этот метод обеспечивает эффективную и безопасную передачу файлов.

Как удалить созданные ресурсы

Чтобы перестать платить за созданные ресурсы:

  • удалите ВМ;
  • удалите статический публичный IP-адрес.

Была ли статья полезна?

Предыдущая
Настройка защищенного туннеля GRE поверх IPsec
Следующая
Реализация отказоустойчивых сценариев для сетевых виртуальных машин
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»