src: man sshfs
title: Работа с директориями удалённого сервера через ssh.
Часто бывает нужно скопировать кучу файлов на удаленный компьютер, имея доступ на него по ssh.
Можно использовать консольную программу sftp, можно копировать с помощью mc, можно примонтировать в пустую директорию локальной файловой системы.
Рассмотрим варианты более подробно.
1. Консольная программа sftp.
Мощное и относительно удобное средство для передачи файлов на/с удаленные серверы. Основные команды:
pwd — показать текущую директорию на удалённом сервере;
lpwd — показать текущую директорию на локальном сервере;
ls — показать список файлов в текущей директории на удалённом сервере;
lls — показать список файлов в текущей директории на удалённом сервере;
get [УДАЛЁННЫЙ_ПУТЬ_К_ФАЙЛУ] [ЛОКАЛЬНЫЙ_ПУТЬ_К_ФАЙЛУ] — загрузить файл с удалённого сервера в локальную файловую систему;
put [ЛОКАЛЬНЫЙ_ПУТЬ_К_ФАЙЛУ] [УДАЛЁННЫЙ_ПУТЬ_К_ФАЙЛУ]- загрузить файл из локальной файловой системы на удалённый сервер.
Есть и другие полезные команды, список и краткое описание к которым можно прочитав, набрав команду help.
2. Копирование с помощью Midnight Commander.
Не вполне приемлемый вариант, если нужно скопировать на сервер небольшой файл. Если файл большой, Midnight Commander прежде чем начать передавать его, сначала долго-предолго его шифрует. Если вы захотите скопировать несколько фильмов или iso-образов дистрибутивов с ftp на удалённую ssh-директорию, процесс копирования первого файла может занять десятки минут или даже часы, в это время соединение с ftp прервётся и дальнейшее копирование потребует вмешательство пользователя. Для копирования же мелких файлов этот вариант вполне пригоден.
3. Монтирование ssh-директории в локальную файловую систему.
Это совершенно прозрачный для пользователя вариант работы. Достаточно один раз примонтировать и до момента размонтирования все операции шифрования будут происходить автоматически, как будто пользователь работает с локальной ФС. Можно копировать файлы и директории командой cp, удалять командой rm и т.д. Очень удобно пользоваться и файловыми менеджерами типа mc, без проблем, описанный в п.2.
Для монтирования директории удалённого сервера в локальную ФС, нужен пакет sshfs:
sudo apt-get install sshfs
Для подключения используется команда:
sshfs ИМЯ_ПОЛЬЗОВАТЕЛЯ@СЕРВЕР:/ДИРЕКТОРИЯ /ЛОКАЛЬНАЯ_ДИРЕКТОРИЯ
Здесь: ИМЯ_ПОЛЬЗОВАТЕЛЯ — имя пользователя на удалённом сервере;
СЕРВЕР — имя или ip-адрес удалённого сервера;
/ДИРЕКТОРИЯ — полный путь к директории на удалённом сервере, куда даётся доступ;
/ЛОКАЛЬНАЯ_ДИРЕКТОРИЯ — полный путь к директории на локальной файловой система, куда будет примонтирована директория удалённого сервера.
Существуют разные опции монтирования, например, монтирование с заданным UID и GID и другие, о чём можно прочитав в справке man sshfs