Как использовать ssh / scp между непубличными машинами

1750
mo-seph

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

У меня есть две машины, 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?

3
Добро пожаловать в стек переполнения! Этот сайт для программирования вопросов, и ваш вопрос больше подходит для http://superuser.com. Я проголосовал, чтобы переместить его туда; после голосования пять человек будут двигаться автоматически. Greg Hewgill 10 лет назад 1

2 ответа на вопрос

3

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

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

0
Doug Harris

Если вы можете использовать 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

Вы избили меня на 5 секунд. NVRAM 10 лет назад 0
Это может не сработать. Если пользователь может ssh из A -> C, но не из C -> A, описанный оригинальный метод будет работать, но мое решение не будет. Doug Harris 10 лет назад 0

Похожие вопросы