четверг, 26 января 2012 г.

Монтирование FTP SFTP в Linux Ubuntu

Для монтирования будем использовать FUSE модули curlftpfs (http://curlftpfs.sourceforge.net/)
и sshfs (http://fuse.sourceforge.net/sshfs.html).
curlftpfs хорош тем, что поддерживает шифрование (SSLv3/TLSv1), может работать поверх HTTP-прокси
и автоматически обрабатывает ситуации разрыва соединения. Sshfs интересен
возможностью кэширования содержимого директорий.

Для работы с FUSE от имени локального пользователя нужно добавить его в группу fuse:

   sudo addgroup логин fuse

Настраиваем права доступа к директории в которую будем производить монтирование:

   chgrp fuse /home/user/mnt
   chmod g+w /home/user/mnt

Ставим curlftpfs и sshfs:

   aptitude install fuse-utils curlftpfs sshfs

монтирование FTP директории производится командой:

   curlftpfs ftp://ftp.test.ru /home/user/mnt
или если используется пароль:
   curlftpfs ftp://логин:пароль@ftp.test.ru /home/user/mnt

Кодировку можно задать через

   curlftpfs -o codepage=koi8-r,iocharset=utf8 ftp://ftp.test.ru /home/user/mnt

где koi8-r кодировка на ftp-сервере, utf8 - кодировка локальной системы.
Выход через http-прокси можно организовать через опцию "-o proxy=host:port"

Автоматизировать ввод пароля можно через стандартный ~/.netrc файл (man netrc):

    machine ftp.test.ru
    login логин 
    password пароль


Для монтирования SSH

   sshfs test@test.ru:/home/test /home/user/mnt

Отмонтирование:

   fusermount -u /home/user/mnt


Комментариев нет:

Отправить комментарий