Как получить доступ к удаленному серверу с помощью Jump хоста

Jump-Хост(также известный как jump-сервер) является промежуточным хостом или шлюзом SSH для удаленной сети, посредством которого соединение может быть выполнено с другим хостом в несходной зоне безопасности, например, в демилитаризованной зоне (DMZ).

Он соединяет две разнородные зоны безопасности и предлагает контролируемый доступ между ними.

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

Классический сценарий — это подключение с вашего рабочего стола или ноутбука из внутренней сети вашей компании, которая надежно защищена брандмауэрами в DMZ.

Чтобы легко управлять сервером в DMZ, вы можете получить доступ к нему через jump-хост.

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

Рассмотрим следующий сценарий.

В приведенном выше сценарии вы хотите подключиться к HOST 2, но вам нужно пройти HOST 1 из-за брандмауэра и прав доступа.

Существует ряд веских причин, по которым нужны jump хосты.

Список динамических Jumphost

Самый простой способ подключения к целевому серверу через jump хост — использовать флаг -J из командной строки.

Это сообщает ssh, чтобы установить соединение с узлом jump, а затем установить переадресацию TCP на целевой сервер,  (убедитесь, что у вас есть пароль SSH между машинами).

$ ssh -J host1 host2

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

$ ssh -J username@host1:port username@host2:port	  

Список нескольких Jumphosts

Такой же синтаксис можно использовать для создания переходов по нескольким серверам.

$ ssh -J username@host1:port,username@host2:port username@host3:port

Список статических Jumphost 

Static jumphost list означает, что вы знаете jumphost или jumphosts, которые вам нужно подключить к машине.

Поэтому вам нужно добавить следующую статическую jumphost-маршрутизацию в файл ~ /.ssh /config и указать алиасы хоста, как показано ниже:

### First jumphost. Directly reachable
Host vps1
  HostName vps1.example.org

### Host to jump to via jumphost1.example.org
Host contabo
  HostName contabo.example.org
  ProxyJump contabo

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

$ ssh -J vps1 contabo

Второй способ — использовать параметр ProxyCommand для добавления конфигурации jumphost в ваш файл ~ .ssh/config или $HOME/.ssh/config, как показано далее:

В этом примере целевой хост является contabo, а jumphost — vps1.

Host vps1
	HostName vps1.example.org
	IdentifyFile ~/.ssh/vps1.pem
	User ec2-user

Host contabo
	HostName contabo.example.org	
	IdentifyFile ~/.ssh/contabovps
	Port 22
	User admin	
	Proxy Command ssh -q -W %h:%p vps1

Где команда ProxyCommand ssh -q -W% h:% p vps1, означает запуск ssh в тихом режиме (с использованием -q) и в режиме пересылки stdio (с использованием -W), перенаправление соединения через промежуточный узел (vps1).

Затем попробуйте получить доступ к целевому хосту, как показано ниже:

$ ssh contabo

 

cryptoparty

Cryptography is typically bypassed, not penetrated.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5e7fa976b0640d40