Удобный SSH

0
(0)

Наша цель быстро и удобно иметь доступ до конечных узлов используя ssh, а также до узлов, которые находятся за так называемым «BASTION» хостом.

Что для этого надо?

Создаем файлик в ~/.ssh/config следующего вида (ссыли естественно чисто примерные)

Bash
Host vm-1
	Hostname <ip_address>
	User <ssh_user_name>
	Port <ssh_port>
Host bastion
	Hostname <ip_address>
	User <ssh_user_name>
	Port <ssh_port>
        IdentityFile <path/to/ssh/private_key
Host vm-2
	Hostname <ip_address>
	User <ssh_user_name>
	Port <ssh_port>
	ProxyCommand ssh -W %h:%p bastion

Разберем что тут происходит.

vm-1 — это алиас по которому мы введя ssh vm-1 сразу постучимся на IP это машины из под нужного юзера и порта.

Предполагается, что эта ВМ доступна с нашего ПК напрямую и нам нужно просто удобное имя для подключения. Никто не мешает добавить секцию IdentityFile и ходить по ssh ключам.

bastion — тот самый «бастион||джам||как_только_не_называют» хост.

Это точка входа. Все остальные ВМ находятся за этим хостом и мы не имеем к ним прямого досутпа, только через ssh bastion -> ssh vm.

Но это не удобно, вводить ssh два раза, поэтому мы можем использовать ssh-agent, который пробрасывает ssh ключи на удаленный хост (бастион) и с ними потом с этого самого бастион хоста может идти на целевые ВМ.

Посмотреть кстати, что там у нас уже есть в агенте можно через команду

Bash
ssh-add -l

А добавить новые ключи

Bash
ssh-add /path/to/private_key

vm-2 — собственно узел, за «бастион» хостом, который не доступен нам напрямую, но на который мы можем ходить через один «хоп» используя в конфиге команду ProxyCommand ssh -W %h:%p bastion Именно она прокинет ssh ключ в агента, о котором мы говорили выше.

Насколько статья полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 0 / 5. Количество оценок: 0

Оценок пока нет. Поставьте оценку первым.

Оставить комментарий