Ars Longa, Vita Brevis

Работа с удаленной файловой системой как с локальной по протоколу SSH

Web-разработчикам очень часто приходится иметь дело с удалёнными серверами. Как правило, для доступа к удалённому серверу используется протокол SSH. И, как правило, для загрузки файлов с/на сервер используется либо клиент, работающий по протоколу SFTP (Secure FTP), либо утилита типа scp.

К сожалению, SFTP-клиент может не всегда быть под рукой, а при помощи scp удобно копировать архивы; для большого количества файлов, которые нужно раскидать по разным каталогам scp использовать не очень удобно.

К счастью, есть выход: Linux позволяет примонтировать в файловую систему удалённый каталог, используя протокол SSH.

Начнём с настройки.

[-]
View Code Bash
# Инсталляция SSHFS
sudo apt-get install sshfs

# Загрузка модуля
sudo modprobe fuse

# Настройка прав доступа
sudo adduser username fuse
sudo chown root:fuse /dev/fuse

Естественно, username нужно заменить требуемым именем.
Если требуемое имя — это имя текущего пользователя, то, возможно, потребуется выйти и войти в систему, чтобы изменения в членстве в группах вступили в силу.

После этого можно монтировать удаленные каталоги:

[-]
View Code Bash
mkdir ~/remoteserver
sshfs username@host:/path ~/remoteserver

Естественно, что username, host и path нужно заменить требуемыми значениями.

После чего можно будет работать с удаленной системой как с локальной.

Размонтировать удаленную систему тоже просто:

[-]
View Code Bash
umount ~/remoteserver
Добавить в закладки<di