Я настроил бастион или (прыжковый) ящик для доступа к виртуальной частной сети.
#ssh_config
Host bastion
HostName 14.90.140.120
User me
IdentityFile ~/.ssh/me
ForwardAgent yes
Host 10.1.*
User me
IdentityFile ~/.ssh/me
ProxyCommand ssh bastion -W %h:%p
Я могу без проблем подключиться к адресу бастиона и 10.1.1.6 по ssh.
Я бы хотел добавить такую запись. Примечание. На данный момент у меня нет времени на DNS, но это был бы мой предпочтительный подход.
#/etc/hosts
10.1.1.6 my-host-inside-vpc.corp.internal
Однако когда я это делаю и пытаюсь получить доступ к машине, я получаю следующее
➜ ~ ssh -vvv my-host-inside-vpc.corp.internal
debug1: Reading configuration data /home/me/.ssh/config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to my-host-inside-vpc.corp.internal [10.1.1.6] port 22.
На этом этапе время операции истекает.
В Host
совпадает с именем, которое вы используете при подключении, не ip после разрешения dns.
Попробуйте использовать Host *corp.internal
вместо.
Согласно нашему обсуждению в комментариях, если вы хотите использовать символические имена, но вам необходимо преобразовать их в IP-адреса для хоста-бастиона, тогда вы можете использовать субэкспрессионист в ProxyCommand следующим образом.
ProxyCommand ssh bastion -W $(getent hosts $h | cut -d " " -f1):%p