пятница, 3 февраля 2012 г.

Как перенести файлы на linux за фаерволом без scp

Есть урезанный линукс на коробочке synology nas ds-1234j. Есть один проброшенный в мир 2222 порт - ssh. Отсутвует scp. Так-же есть второй сервачок с которого на коробку необходимо перебросить фоточки. Можно канешно использовать wget в связке с вебсервером, но это лишние движения и время (архивировать+передача+распаковка последовательно). Решил воспользоваться широко известным в узких кругах методом tar + nc (netcat). Но тк сервер назначения был зафаерфолен, обычное isia@destination# nc -l 1234 | tar xv и isia@source# tar c Foto4kiForTesha | nc destinationIPorDN 1234 не прокатит. Но почему не поменять местами?

isia@source# tar c Foto4kiForTesha | nc -l 1234
и
isia@desctination# nc sourceIPorDN 1234 | tar xv


Как бонус получаем экономию по времени 2-х переключений окон терминала: находимся на первом серваке, подготавливаем файлы и выполняем команду. Переходим на второй, выполняем команду, смотрим прогресс, закрываем сессию. Делаем глоток пива.