3

Я часто нахожусь в следующей ситуации:

У меня есть две машины, A и B, которые находятся в локальных сетях и имеют непубличные IP-адреса. Машина C находится в той же локальной сети, что и B, но общедоступна. Я хотел бы скопировать файл из B в A, поэтому я должен:

  • сш к к
  • SSH от C до B
  • scp файл от B до C
  • scp файл от C до A

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

Есть ли способ использовать стандартный ssh/scp для копирования из B в A, без необходимости делать временную копию на C?

2 ответа2

3

Вы хотите настроить переадресацию портов. Когда вы используете SSH с компьютера A на компьютер B, добавьте туннель, т. Е. Добавьте -L 1234:A:22 при туннелировании к B. Затем SSH к компьютеру C и скопируйте файлы в B на порт 1234 (т.е. добавьте -P 1234 в scp). , Это на самом деле будет маршрутизировать к порту 22 на машине A, который является портом ssh, и, следовательно, он будет передавать напрямую.

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

0

Если вы можете использовать ssh из C в B и scp в A из C, то я думаю, что вы сможете использовать scp непосредственно из C.

(Использование aa.aa.aa.aa в качестве IP-адреса A и bb.bb.bb.bb в качестве IP-адреса B)

  • ssh в C
  • В командной строке на C:

    scp bb.bb.bb.bb:/path/to/file aa.aa.aa.aa:/path/to/destination

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