Невозможно настроить удаленную пересылку конфигурации ssh из Local -> Bastion -> EC2
Обзор
Я пытаюсь настроить ~ / .ssh / config для подключения моего локального VSCode к удаленному (EC2). Я провел много тестов и не могу понять, почему одна ситуация работает, а другие терпят неудачу. Я могу заставить RemoteCommand успешно работать для ssh'ing в экземпляр EC2 после ssh'ing в BastionHost, однако я не могу добиться того же с ProxyJump или ProxyCommand. VSCode не перечисляет файловую систему EC2 при использовании примера RemoteCommand (просто доходит до BastionHost), поэтому думаю, что мне нужно разрешить либо ProxyJump / ProxyCommand на основе большей части документации.
Я пытался точно следовать приведенным здесь инструкциям, но безуспешно пробовал разные подходы из других статей.
##WORKS
Host dev-ec2
HostName 10.248.000.206
User meme1
RemoteCommand ssh 10.248.000.201
RequestTTY yes
IdentityFile ~/.ssh/mykey
##WORKS
Host bastion-dev
HostName 10.248.000.206
User meme1
IdentityFile ~/.ssh/mykey
RequestTTY yes
##FAILS (times out)
Host dev-ec2-proxycommand
HostName 10.248.000.201
User meme1
ProxyCommand ssh.exe bastion-dev -W %h:%p
##FAILS (Permission denied on public key, even though no issue in the RemoteCommand example)
Host ec2-dev-proxyjump
HostName 10.248.000.201
User meme1
ProxyJump bastion-dev
IdentityFile ~/.ssh/mykey
Системная информация
ОС: Windows 10
Отказ от ответственности
Последние пару дней я безрезультатно просматривал StackOverflow и другие форумы, и хотя я нашел похожие вопросы, ни один из них не дал жизнеспособных ответов для решения.
1 ответ
Я полагаю, что этот ниже не работает, потому что вы используете команду из Windows на своем бастионе, то есть в Linux.
Командование
ssh.exe
не будет работать в Linux. Все, что вы надеваете
ProxyCommand
будет работать внутри вашего хоста-бастиона, в вашем случае это ОС Linux.
Также убедитесь, что группа безопасности вашего экземпляра разрешает подключение с IP-адреса бастиона, а не с вашего компьютера.
##FAILS (times out)
Host dev-ec2-proxycommand
HostName 10.248.000.201
User meme1
ProxyCommand ssh.exe bastion-dev -W %h:%p
У меня есть конфигурация ниже на моем
~/.ssh/config
файл, и он отлично работает для меня, чтобы подключиться к моему экземпляру за хостом бастиона.
Бастион IP:
172.31.4.238
IP хоста (за бастионом):
172.31.11.98
Host 172.31.11.98
HostName 172.31.11.98
User ec2-user
ProxyCommand ssh -W %h:%p ec2-user@172.31.4.238
См. Ниже
$ ssh 172.31.11.98
The authenticity of host '172.31.11.98 (<no hostip for proxy command>)' can't be established.
ECDSA key fingerprint is SHA256:vy....
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '172.31.11.98' (ECDSA) to the list of known hosts.
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
[ec2-user@ip-172-31-11-98 ~]$