Я часто нахожусь в следующей ситуации:
У меня есть две машины, A и B, которые находятся на LAN, и имеют непубличные IP-адреса. Машина C находится на той же LAN как B, но публично видимый. Я хотел бы скопировать файл от B до A, таким образом, я имею к:
Учитывая, что ssl может сделать замечательные вещи с туннелирующими дисплеями полностью назад от B до через C прозрачно, кажется, что должно быть возможно сделать то же с файлами.
Существует ли способ использовать стандарт ssh/scp для копирования от B до A, не имея необходимость делать временную копию на C?
Если Вы можете ssh от C до B и scp к от C, то я думаю, что необходимо смочь использовать scp непосредственно от C.
(Используя aa.aa.aa.aa как IP-адрес A и bb.bb.bb.bb как IP-адрес B)
В командной строке на C:
scp bb.bb.bb.bb:/path/to/file aa.aa.aa.aa:/path/to/destination
Вы хотите настроить перенаправление портов. Когда Вы SSH от машины к машине B добавляют туннель, т.е. добавляют-L 1234:A:22 при туннелировании к B. Затем SSH к машине C и scp файлы к B на порте 1234 (т.е. добавляют-P 1234 к scp). Это на самом деле направит для портирования 22 на машине, который является ssh портом, и следовательно это передаст непосредственно.
У меня нет трех машин, которыми можно попробовать это прямо сейчас, но я думаю, что это должно работать.