3

Возможно, название нужно изменить, но у меня следующая ситуация:

  • Я могу SSH к хозяину A

  • Из A я могу войти в систему B, но к ней нельзя получить доступ с моего компьютера. Название машины (а также ее ip) является только локальным.

  • Как я могу sshfs (и / или использовать scp) напрямую к машине B, без необходимости scp файлы из B-> A, а затем с A-> моей машины. Я действительно так теряю производительность,

PS: я не могу изменить конфиги в A и B ...

3 ответа3

4

Если вы аутентифицируетесь в B с учетными данными, доступными на вашем компьютере (назовем его W), например, с паролем / именем пользователя (а не с ключами на A), вы можете построить SSH-туннель, например:

W $ ssh -L 1234:B:22 A

а потом

W $ ssh -p 1234 usernameB@127.0.0.1

или аналогично с scp и sshfs. И. е. порт 1234 на вашем локальном компьютере (обычно 127.0.0.1 или ::1) перенаправляется на B, порт 22 с точки зрения A.

2

Если у вас есть netcat на хосте A, то ssh's ProxyCommand - ваш друг.

Отредактируйте ваш локальный .ssh/config следующим образом

Host B
    HostName B.internal.domain
    ProxyCommand ssh A nc %h %p 2> /dev/null

Затем, когда вы пытаетесь подключиться по ssh к хосту B: сначала он создает сеанс ssh с A, а затем туннелирует трафик через netcat (nc) на порт 22 (% h) хоста B (% p).

0

Какая ОС у вас и пункт назначения работает?

Если это Linux, то протокол Zmodem идеально подходит для того, что вы пытаетесь сделать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .