Сложный туннель SSH - PullRequest
       9

Сложный туннель SSH

0 голосов
/ 23 января 2019

У меня сложная проблема с SSH-туннелем, которую я пытаюсь решить, и, похоже, я не могу ее решить.

Проще говоря:

ME -> Бастион: 22 -> Экземпляр: 8500

Bastion использует другое имя пользователя и ключ, чем экземпляр. Я хотел бы иметь возможность доступа к порту 1234 на экземпляре с локального хоста: 1234

Сейчас у меня есть следующее:

Host bastion
  HostName bastion.example.com
  ForwardAgent yes
  IdentityFile ~/.ssh/id_ecdsa
  User spanky

Host internal
  ForwardAgent yes
  HostName consul.internal
  IdentityFile ~/.ssh/aws.pem
  ProxyJump bastion
  User ec2-user
  Port 8500

Но я не думаю, что у меня это есть.

Следующие две команды работают, но я пытаюсь перевести их в рабочую конфигурацию:

ssh -L 2222:10.0.0.42:22 bastion.example.com -N -i ~/.ssh/id_ecdsa
ssh -L 8500:localhost:8500 ec2-user@localhost -N -i ~/.ssh/aws.pem -p 2222

1 Ответ

0 голосов
/ 24 января 2019

С текущей версией ssh ​​вы можете использовать:

ssh -L1234:localhost:1234 -J spanky@bastion.example.com ec2-user@consul.internal

С man ssh:

 -J destination
         Connect to the target host by first making a ssh 
         connection to the jump host described by destination and then
         establishing a TCP forwarding to the ultimate destination from there. 
          Multiple jump hops may be specified separated by comma characters.
          This is a shortcut to specify a ProxyJump configuration directive.
...