К серверу, на котором находится Убунтовод (кстати, который был любезно предоставлен Владимиром), я подключаюсь по ssh из за отсутствия ftp. Работать таким образом получается чуть медленнее, зато безопасней.
Однажды мне надоело подключаться к серверу каждый раз через FileZilla (делал я это через sftp) и было решено сделать монтирование сервера как удалённой папки.
В этом мне помогла файловая система sshfs. Именно через неё можно без проблем подключить любую папку с сервера, на вашем компьютере, как обыкновенную локальную папку.
Установка SSHFS
Итак, для установки sshfs достаточно всего одной команды:
1
|
sudo
apt
-
get
install
sshfs
|
Использование SSHFS
Для начала создайте директорию, куда будете монтировать папку с сервера:
1
|
mkdir
/
media
/
server
|
После чего можно начинать монтирование:
1
|
sshfs
username
@
server
:
/
home
/
user
/
folder
/
media
/
server
-
o
uid
=
1000
,
gid
=
1000
|
Где:
- username - Имя пользователя на сервере
- server - Адрес сервера (ip или домен)
- /home/user/folder - Нужная папка на сервере, к которой производить подключение
- /media/server - Папка на вашем компьютере, к которой будет происходить монтирование
- -o uid=1000,gid=1000 - Параметры подключения
Чтобы узнать полный список параметров для подключения воспользуйтесь командой man:
1
|
man
sshfs
|
Для отключения директории воспользуйтесь данной командой:
1
|
fusermount
-
u
/
media
/
server
|
Автоматическое подключение SSHFS
Но удобней всего будет настроить автоматическое подключение при загрузке ОС. В начале я планировал настроить подключение через /etc/fstab, но есть вариант проще и без одной проблемы.
Всё дело в том, что при подключении через /etc/fstab требуется настроить публичный ssh-ключ (иначе подключение не удастся из за запроса пароля), а для этого нужно создать в домашней директории сервера папку .ssh. Но так как у меня нет прав создавать папки в домашней директории, пришлось использовать другой вариант.
Поступим более простым способом (однако он будет не слишком безопасным, ибо пароль будет в открытом виде). Итак, достаточно сделать автозапуск следующей команды:
1
|
sh
-
c
"sleep 5 && echo 'pass' | sshfs username@server:/home/user/folder /media/server -o password_stdin -o ServerAliveInterval=300 -o reconnect"
|
Думаю очевидно, что "pass" - это пароль от ssh к серверу.
Задержка в 5 секунд в начале сделана не просто так. Иногда подключение не срабатывало сразу после загрузки компьютера. Я не тратил время на нахождение причины (возможно это из за того, что подключение к интернету устанавливается не сразу), а сделал задержку, после которой подключение точно сработает.
Всё, сохраняем команду и теперь при включении компьютера будет автоматически создаваться подключение к удалённому серверу.