FTP через SSH туннель
Понадобилось сегодня разобраться с сайтом заказчика, доступ к которому есть только по FTP, причём только из нашей офисной подсети. Вроде тривиальная задача: ssh до любой серверной машины и использовать mc в качестве ftp клиента. Проблемы старые: непривычные настройки vim, проблемы с кодировками, да и вообще mc для чего-либо, кроме выборочного массового копирования файлов неудобно.
Подключился через свой скрипт afuse
, использующий curlftpfs
. Параметры
такие:
curlftpfs-tunnel -o user=asd:xyz ftp.example.com
curlftpfs-tunnel
— это обёртка для curlftpfs
, которая запускает туннель. Выглядит так:
#!/bin/sh
ssh -f -D 12345 example.com tail -f /dev/null
/usr/bin/curlftpfs -o proxy=127.0.0.1:12345,socks5 $*
Ключ -f
для ssh
заставляет его работать фоном, а команда tail
заставляет
соединение держаться вечно. Это нужно потому, что curlftpfs подключается и отключается по мере необходимости, а при первом же закрытии соединения закроется и туннель, в результате папка будет примонтирована, но будет пуста. Ищу решение для этой проблемы.
PS: vim
при сохранении файлов, открытых через curlftpfs
, ругается на невозможность выполнить fsync
. Это решается командой set nofsync
, которую
можно добавить в ~/.vimrc
.
Следить за развитием событий можно через RSS ленту или почтовую рассылку.