У меня проблема с передачей файлов между хостами. Лабораторная среда похожа на:

Мой хост <-> Хост A <-> Хост B

У меня есть доступ только к узлу A, и я хочу передать файлы на узел B. Узел A имеет доступ к узлу B.

Я хочу использовать scp для передачи файла с моего хоста на хост B напрямую.

Я пробовал ssh -L :8899:<host-B>:22 user@host-a и scp -P 8899 myfile.txt user@localhost:/path/to/store/files . Но не удалось :(

канал 2: не удалось открыть: административно запрещено: не удалось открыть ssh_exchange_identification: соединение закрыто удаленным хостом, потеряно соединение

Как я могу реализовать эту работу?

Примечание. Когда я подключаюсь по ssh к хосту A, мне нужно ввести пароль, сгенерированный токеном RSA. Это причина, почему я получил сообщение об ошибке?

1 ответ1

0

Синтаксис ssh -L с указанными вами портами: ssh -L 8899:<Host B>:22 user@<Host A>

При этом будет прослушиваться порт 8899, и все, что он получит, будет пересылаться через ssh туда и обратно и отправляться в открытом виде. будет думать, что это общение с чем-то работает на

Я не уверен, как это поможет вам.

Вы можете связать ssh-сессии с помощью PoxyCommand, таким образом:

Host Host-B
  HostName      Host-B.some.private.network.domain
  ProxyCommand          ssh -q Host-A nc %h %p

Если это находится в вашем файле .ssh/config , scp blah.txt <Host-B>: попытайтесь отправить файл blah.txt через сеанс ssh на Host-A и оттуда на Host-B, все через ssh.

Ваш ssh-клиент будет работать так, как если бы он подключался напрямую к Host-B. Любые запросы ключей RSA и т.д. Будут возвращаться в сеанс ssh, как если бы вы сидели на Host-A.

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