s sh в гнездо через Jumphost - PullRequest
       12

s sh в гнездо через Jumphost

0 голосов
/ 21 января 2020

Я пытаюсь выяснить, как s sh перейти к хосту за хостом бастиона, где соединение представляет собой сокет unix.

Хост A подключается к бастиону через s sh и устанавливает обратный туннель обратно к своему sshd:

ssh -R /var/run/A.sock:localhost:22 bastion

Вкл. bastion Я могу подключиться к A со следующими значениями s sh config

Host A
    ProxyCommand socat - UNIX-CLIENT:/var/run/A.sock

Теперь я хотел бы подключиться от B к A через bastion, например,

ssh -J bastion A

Мне особенно интересно подключиться к хосту за A, например:

ssh -L 80:1.2.3.4:80 -J bastion A

Это не похоже на работу, поскольку s sh не оценивает ~/.ssh/config на bastion и A не является допустимым именем хоста.

Следующий подход работает, но имеет Недостаток создания двух туннелей и временного порта

ssh -tt bastion ssh -tt A

ssh -L 80:localhost:8000 -tt bastion ssh -L 8000:1.2.3.4:80 -tt A

У кого-нибудь есть лучший подход? Как мне настроить это в ~/.ssh/config?

Обновление 1

Следующая конфигурация s sh на B, кажется, работает:

Host A
    HostName bastion
    RequestTTY force
    ForwardAgent yes
    RemoteCommand ssh -tt A

Однако, ssh -L 80:1.2.3.4:80 A не устанавливает sh сквозной туннель с этой конфигурацией.

...