Multi-hop носки прокси, как?

Я начинаю с предложения использовать jvisualVM через SOCKS . Однако у меня несколько сложная топология.

Начиная с моего ноутбука, у меня есть два промежуточных хоста, чтобы добраться до машины, которую я хочу наблюдать.

LaptopAtHome -> HostAtWork -> AWS-Bastion -> ThingToObserve

Я могу использовать ssh-add для обработки ключей, необходимых для создания этих переходов. Я не должен оставлять никаких секретных ключей SSH на AWS-Bastion. Как установить все это так, чтобы:

ssh -v -D 9696 thingtobserve.example.com 

открывает червоточину с моего ноутбука на другой конец?

Также обратите внимание, что мне нужно использовать другой закрытый ключ для первого прыжка, чем для второго и третьего. У меня есть оба ключа, загруженные на стартовый узел с помощью ssh-add.

Некоторые исследования заставили меня попробовать:

 #!/bin/sh noknown="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" ssh -A -t -t -v -L9999:localhost:9932 first ssh -A $noknown -t ec2-user@bastion ssh -A $noknown -t -D 9932 ec2-user@target 

это не позволяет «разрешить отказ».

Я пробовал простой первый шаг:

 ssh -t -v -A first ssh -A -t -v $noknown ec2-user@bastion 

и журнал показывает, что дополнительные ключи от агента не представлены «бастиону». ssh -L показывает их в начальной точке.

РЕДАКТИРОВАТЬ

Оказывается, что часть проблемы здесь заключается в том, что один из хостов в моем офисе, который я пытался использовать в качестве первого пункта назначения, имеет какую-то загадочную проблему. Если я переключусь на другой, я могу получить оболочку просто отлично, полностью. То, что я не могу получить, является прокси-сервером.

Комментарий к этому вопросу предполагает, что мульти-прыгание прокси-сервера носков, по сути, концептуально сложно, и поэтому это реальный вопрос по этому вопросу.

EDIT 2

эта страница претендует на носки с несколькими хмеями, но мне кажется, что в номерах портов может быть опечатка; Я экспериментирую.

  • Расписание по загрузочному постоянному обратному туннелю SSH на Mac OSX
  • туннель ssh, переадресация портов - путают
  • Как туннель SSH через SSH?
  • autossh не будет работать в фоновом режиме
  • Предоставить доступ к Интернету на сервер, доступный по SSH, но где Интернет заблокирован
  • SSHD_CONFIG продолжает разлагаться при обратном настройке SSH
  • использовать SSH-туннель для байпаса
  • SSH-туннель через MySQL Workbench
  • 2 Solutions collect form web for “Multi-hop носки прокси, как?”

    Я бы не пытался использовать прокси-сервер multihop, но использовал промежуточный хост в качестве SSH-реле для доступа к бастиону. Оттуда вы можете настроить свой SOCKS-прокси.

    Настройка доступа к хосту на работе

    Сначала настройте доступ к host-at-work :

     Host host-at-work User myself 

    Настройка доступа к бастиону

    Затем мы настраиваем доступ к бастиону. Мы используем host-at-work в качестве SSH-реле для подключения к бастиону:

     Host bastion User myself ProxyCommand ssh host-at-work -W bastion:22 

    Теперь вы можете подключиться к бастиону, используя:

     ssh bastion 

    Настройка прокси-сервера SOCKS

    Теперь, когда вы можете подключиться к бастиону, вы можете настроить прокси-сервер SOCKS:

     ssh bastion -D 9932 -N 

    Хотите подключиться к последнему хосту на SSH?

    Затем вы хотите попросить SSH использовать бастион в качестве реле:

     Host thing-to-observe User myself ProxyCommand ssh bastion -W thing-to-observe:22 

    Затем вы сможете:

     ssh thing-to-observe 

    Ну, я нашел ответ:

     ssh -t -v -A -D9932 -L9933:localhost:9933 -L9934:localhost:9934 FIRST-HOST ssh -D9933 -L9934:localhost:9934 -A -t -v ec2-user@SECOND-HOST ssh -D9934 -A -t -v ec2-user@THIRD-HOST 

    используя 9934 в качестве порта прокси-портов.

    Очевидно, что при необходимости может быть отображен на .ssh/config . кредиты на вторую ссылку в моем вопросе.

    Linux и Unix - лучшая ОС в мире.