Итак, у меня есть куча серверов, которые доступны только через хост-бастион.
Однако мой бастионный хост имеет динамический IP-адрес, который меняется случайным образом.
Для подключения по ssh к другому серверу у меня просто есть .ssh/config с ProxyJump, ссылающимся на хост моего сервера-бастиона, поэтому мне нужно изменить IP-адрес только в одном месте. то есть:
Хост preprod_jumphost
Имя хоста 123.123.123.123
Порт 22
Хост target_host1
Имя хоста 201.201.201.201
ProxyJump preprod_jumphost
Хост target_host2
Имя хоста 201.201.201.202
ProxyJump preprod_jumphost
Изменив IP-адрес 123.123.123.123 на новый, все остальные мои хосты будут правильно обновлены.
Однако у меня есть некоторая служба, к которой мне нужно подключиться с использованием локальной переадресации (в основном БД), которую я не могу подключить по SSH к серверу.
Я попытался использовать псевдоним хоста в имени хоста, например:
Хост db_preprod
Имя хоста preprod_jumphost
Локальный Форвард 5432 201.201.201.111:5432
однако, когда я бегу ssh db_preprod
Я получил:
ssh: не удалось разрешить имя хоста. preprod_jumphost: имя или служба не
известен
Если я заменю имя хоста на динамический IP, как в:
Хост db_preprod
Имя хоста 123.123.123.123
Локальный Форвард 5432 201.201.201.111:5432
оно работает. Я могу ssh db_preprod
и psql -UYYY -d XXX -p 54332 -h локальный хост
работает.
Поскольку у меня много БД и других сервисов, к которым мне нужен доступ, есть ли способ сослаться preprod_jumphost
определить в другом хосте для моих различных Местный Форвард
определение. Таким образом, у меня нет кучи конфигурации хоста для обновления при изменении IP-адреса хоста-бастиона?
Хотя я знаю, что мог бы иметь несколько LocalForward, определенных непосредственно на моем хосте Host preprod_jump как
Хост preprod_jumphost
Пользователь убунту
Имя хоста 123.123.123.123
Порт 22
Локальный Форвард 5432 201.201.201.111:5432
Локальный Форвард 5433 201.201.201.122:5432
Локальный Форвард 5434 201.201.201.133:5432
Локальный Форвард 5435 201.201.201.144:5432
Я не хочу, чтобы весь порт постоянно перенаправлялся в тот момент, когда я где-то ssh (особенно для моего prod env). Я хочу явно запустить сеанс ssh, когда мне это нужно.