# Подключение по SSH к виртуальной машине по внутреннему IP-адресу Виртуальные машины, созданные в [зоне доступности `Inside` или `DMZ`](../compute-overview.md#зоны-доступности), с внутренним IP-адресом недоступны из интернета. Чтобы подключиться по SSH к ВМ по внутреннему IP-адресу, используйте промежуточную виртуальную машину (джамп-хост) с [внешним IP-адресом (FIP)](compute-ip.md#внешние-ip-адреса). ## Перед началом работы - Проверьте, создана ли ВМ с внутренним IP-адресом в зоне `Inside` или `DMZ`, к которой планируется подключаться из интернета. - Подготовлена ключевая пара для подключения к ВМ по SSH: - приватный ключ сохранен на компьютере, с которого выполняется подключение; - публичный ключ [добавлен](../../admin/ssh.md#добавить-ssh-ключ) в профиль пользователя в личном кабинете Beeline Cloud. - Отключен VPN. - Разрешен удаленный доступ по протоколу SSH (TCP-порт 22). - Протокол ICMP не заблокирован на Firewall. Если вы используете разные SSH-ключи для подключения к ВМ по внутреннему IP-адресу и к промежуточной ВМ с внешним IP-адресом, то добавьте оба публичных ключа в профиль пользователя в личном кабинете Beeline Cloud. ## 1. Посмотреть внешний IP-адрес и его статус Перед созданием промежуточной ВМ с FIP убедитесь, что внешний IP-адрес доступен для назначения. Значение внешнего IP-адреса и его статус можно [посмотреть](compute-ip.md#посмотреть-внешний-ip-адрес) в разделе **Виртуальные машины → IP-адреса**. Внешний IP-адрес может быть занят другой виртуальной машиной. Если вы не планируете использовать эту ВМ в качестве джамп-хоста, то [отвяжите внешний IP-адрес](compute-ip.md#назначить-вм-внешний-ip-адрес) от этой ВМ и [создайте новую промежуточную ВМ с FIP](#2-создать-промежуточную-вм). ## 2. Создать промежуточную ВМ Промежуточная ВМ (джамп-хост) — это виртуальная машина с внешним IP-адресом, созданная в специальной приграничной зоне `DMZ` и имеющая доступ к внутренней сети. Джамп-хост является шлюзом между интернетом и внутренней сетью. 1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/). 2. Выберите нужный проект в верхнем меню **Проекты**. 3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**. 4. В левом меню откройте раздел **Виртуальные машины**. 5. Нажмите **Создать виртуальную машину**. 6. В блоке **Имя и расположение** укажите имя и расположение ВМ: - **Имя машины**: введите название ВМ. - **Зона доступности**: выберите зону доступности, содержащую в названии `DMZ`. :::warning Важно Джамп-хост и внешний IP-адрес должны находиться в одной [зоне доступности `DMZ`](./../compute-overview.md#зоны-доступности) для связанности из интернета. ::: 7. В блоке **Выбор образа** выберите [тип и версию операционной системы](./../compute-overview.md#операционная-система). 8. В блоке **Конфигурация** выберите количество vCPU и RAM. 9. В блоке **Диски** настройте загрузочный диск: - **Загрузочный диск**: выберите [тип диска](../compute-overview.md#диски) и укажите размер загрузочного диска. 10. Выберите SSH-ключ для подключения к ВМ по SSH. 11. В блоке **Доступ** укажите логин пользователя для подключения к ВМ: - **Логин**: введите логин пользователя латинскими символами в нижнем регистре. 12. В блоке **Настройки сети** выберите: - **IPv4-адрес**: выберите из списка внешний IP-адрес. 13. Нажмите **Создать виртуальную машину**. ## 3. Конфигурация SSH 1. Откройте конфигурационный файл SSH `~/.ssh/config` для ОС Linux или `C:\users\имя_пользователя\.ssh\config` для ОС Windows. 2. Добавьте в конфигурационный файл сведения о виртуальных машинах: ``` host jumphost hostname user IdentityFile host myhost hostname user IdentityFile ProxyJump jumphost ``` где: - `jumphost`: внешний IP-адрес джамп-хоста; - `jump_login`: имя пользователя для входа на джамп-хост, указанное при создании ВМ; - `jump-secret-file-path`: путь к приватному ключу джамп-хоста; - `myhost`: внутренний IP-адрес ВМ, к которой требуется подключиться; - `myhost-login`: имя пользователя для входа на ВМ, указанное при создании ВМ; - `myhost-secret-file-path`: путь к приватному ключу ВМ, к которой требуется подключиться. ### Пример содержимого файла ~/.ssh/config ``` host jumphost hostname 77.41.188.88 user admin IdentityFile ~/.ssh/id_ed25519 host myhost hostname 10.0.0.12 user ivanov IdentityFile ~/.ssh/id_ed25519 ProxyJump jumphost ``` ## 4. Подключиться к ВМ закрытого контура 1. Откройте терминал. 2. Выполните команду: ``` ssh myhost ```