Иногда возникает необходимость использовать ssh соединение, для доступа к файлам удаленного ПК, но это не всегда удобно. Особенно, если такая необходимость возникает часто. Гораздо удобнее использовать удаленные папки, если они будут представлены, как локальные директории. Это даст нам возможность копировать, удалять, редактировать файлы, как-будто это локальные файлы и папки. Для этого нам понадобиться установить утилиту sshfs, с помощью которой можно примонтировать ресурсы удаленного ПК в локальную директорию.
Установим утилиту sshfs, под root правами root:
apt-get install sshfs |
Далее нужно добавить пользователя в группу fuse для того, чтобы пользователь мог монтировать и отмонтировать ssh ресурсы.(в зависомсти от вашего дистрибутива)
usermod -a -G fuse $USER |
Необходимо создать директорию, в которую будем монтировать папку(и) с удаленного ПК:
mkdir /home/user/mount_Dir |
Командой задаем параметры для подключения к удаленному ПК используя IP-адрес, логин и пароль. Указываем директорию к которой хотим получить доступ и директорию в которую будет примонтирована удаленная папка:
sshfs user@192.168.15.100:/dir/remote_dir /home/user/mount_Dir |
где user – Логин для подключения к удаленному ПК по ssh
192.168.15.100 – ip адрес (доменное имя) удаленного ПК
/dir/remote_dir – Папка на удаленном компьютере, которую будем монтировать
/home/user/mount_dir – Директория в которую будет монтироваться удаленная папка
Для пользователей Windows, можно использовать утилиту dokan sshfs скачать ее можно по этой ссылке или по этой
Чтобы каждый раз, когда требуется доступ к удаленному ПК не писать в консоли команды, лучше автоматизировать процесс.
Установим утилиту Automount FUSE
apt-get install afuse |
Далее требуется запустить ее с нужными параметрами:
afuse -o mount_template=”sshfs %r:/ %m” -o unmount_template=”fusermount -u -z %m” ~/sshfs/ |
После чего все обращения к файлам и папкам в папке ~/sshfs/ будут вызывать монтирование соответствующей папки в ~/sshfs/. Далее обращение пойдет на удаленный хост. Самое главное – все происходит при первом обращении к нужной директории.
Конечно, не всегда удобно писать полный адрес и параметры доступа к удаленному ПК user@files.example.ru:22, поэтому лучше создать файл с настройками доступа ssh.
cat ~/.ssh/config Host file-storage Hostname files.example.ru Port 22 # может быть использован нестандартный порт HostKeyAlias files User admin |
Теперь возможно заходить на удаленный ПК по короткому имени files как в ssh, так и в sshfs:
> ssh files # заходим на сервер никаких доп.настроек не требуется
> ls ~/sshfs/files # просмотр корневой папки ПК.
Если зайти в папку первый раз, то потребуется ввести пароль для доступа к удаленному ПК . После того как соединение установлено, повторно вводить пароль не требуется.
Скрипт для автозапуска afuse
$ cat ~/bin/afuse.sh #!/bin/sh if [ ! -z `ls -d /tmp/afuse-* 2>/dev/null` ]; then echo ‘Afuse is already running’; else /usr/bin/afuse -o mount_template=”sshfs %r:/ %m” -o unmount_template=”fusermount -u -z %m” ~/sshfs/ fi |
Осталось добавить его в crone.
Views: 9