Назад | Перейти на главную страницу

SFTP через несколько компьютеров

Я хочу скопировать файл из A в D. Компьютер может получить доступ только к тем, которые находятся рядом с ним.

+---------------------------------------------------------+
| Computer A <-> Computer B <-> Computer C <-> Computer D |
+---------------------------------------------------------+

Прямо сейчас я копирую его из A в B с помощью SFTP, затем по ssh в B, копирую его в C, ssh в C и так далее. Когда закончите, я возвращаюсь, закрываю каждый сеанс ssh и удаляю файлы.

Есть ли простой способ отправить файл из A в D более эффективным способом? Прямо сейчас файл должен быть полностью загружен на каждый компьютер в строке, чтобы потом удалить его. Нет, дискеты и ходьба не более эффективны.

Использование LocalPortForwarding для настройки прослушивания локального порта и использования службы SSH назначения.

+---------------------------------------------------------+
| Computer A <-> Computer B <-> Computer C <-> Computer D |
+---------------------------------------------------------+

На [ComputerC] создайте прослушиватель на сокете localhost: 2022, который служит SSH для ComputerD, перенаправляя трафик на ComputerD: 22

$ ssh -L2022:ComputerD:22 ComputerD

На [ComputerB] создайте прослушиватель на сокете localhost: 2022, который служит SSH для ComputerD, перенаправляя трафик на localhost: 2022 из ComputerC

$ ssh -L2022:localhost:2022 ComputerC

На [ComputerA] создайте прослушиватель на сокете localhost: 2022, который служит SSH для ComputerD, перенаправляя трафик на localhost: 2022 из ComputerB

$ ssh -L2022:localhost:2022 ComputerB

Использование порта 2022 на ComputerA в качестве SSH-сервиса ComputerD для копирования файла

$ scp -P2022 file localhost:/path/