# Подключение по SSH по внутреннему IP-адресу с помощью ключевой пары

Виртуальные машины, созданные в [зоне доступности `Inside` или `DMZ`](../compute-overview.md#зоны-доступности), с внутренним IP-адресом недоступны из интернета. Чтобы подключиться по SSH к ВМ по внутреннему IP-адресу из интернета, используйте промежуточную виртуальную машину (джамп-хост) с [внешним IP-адресом (FIP)](../compute-how-to/compute-ip/compute-ip-about.md#внешние-ip-адреса).

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

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

- Статус виртуальной машины — `Включена`.
- [Создана промежуточная ВМ](compute-servers-jump-create.md), через которую будет выполняться подключение к ВМ.
- Виртуальной машине [назначен](../compute-how-to/compute-ip/compute-ip-about.md#внутренние-ip-адреса) внутренний IP-адрес.
- Имя пользователя для входа на ВМ.
- Подготовлена ключевая пара для подключения к ВМ по SSH:
  - приватный ключ сохранен на компьютере, с которого выполняется подключение;
  - публичный ключ [добавлен](../../admin/ssh.md#добавить-ssh-ключ) в профиль пользователя в личном кабинете Beeline Cloud.
- На компьютере, с которого выполняется подключение к ВМ:
  - разрешен удаленный доступ по протоколу SSH (TCP-порт 22);
  - есть доступ в интернет, протокол ICMP не заблокирован на Firewall-ах;
  - VPN сети организации позволяет осуществлять соединение в интернет.

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

## 1. Конфигурация SSH

1. Откройте конфигурационный файл SSH `~/.ssh/config` для ОС Linux или `C:\users\имя_пользователя\.ssh\config` для ОС Windows.
2. Добавьте в конфигурационный файл сведения о виртуальных машинах:
   
   ```
   host jumphost
        hostname <jumphost>
        user <jump_login>
        IdentityFile <jump-secret-file-path>

   host myhost
        hostname <myhost>
        user <myhost-login>
        IdentityFile <myhost-secret-file-path>
        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
```        

## 2. Подключиться к ВМ по внутреннему IP-адресу

1. Откройте терминал.
2. Выполните команду:
   
   ```
   ssh myhost
   ```
