SSHFS

SSHFS – подключение диска с другого компьютера по ssh How To Use SSHFS to Mount Remote File Systems Over SSH

0. Настраиваем SSH подключение по сертификатам с машиной, к которой будем подключаться

  ssh-keygen -o -a 256 -t ed25519 -C "$(hostname)-$(date +'%d-%m-%Y')"
  ssh-copy-id  user@myhost.ru -p55555
  ssh -p55555 user@myhost.ru 
  

1. Устанавливаем sshfs на Linux. Может потребоваться подключение дополнительных репозиториев.

  sudo apt update

Debian

  sudo apt install sshfs

RHEL.

  sudo dnf install fuse-sshfs    

Устанавливаем на Windows SSHFS for Windows

2. Создаём папку в /mnt/

 sudo mkdir /mnt/droplet

3. Подключаем диск с удалённого сервера

 sudo sshfs -o allow_other,default_permissions sammy@your_other_server:~/ /mnt/droplet

Тильду можно убрать

ОпцияОписание
-oпредшествует различным параметрам монтирования (это то же самое, что и при обычном выполнении команды mount для монтирования дисков без SSH). В данном случае вы используете allow_other, чтобы разрешить другим пользователям доступ к этому монтированию, и default_permissions (чтобы в остальном оно использовало обычные разрешения файловой системы).
sammy@your_other_server:~/указывает полный путь к удаленному каталогу, включая имя удаленного пользователя, sammy, удаленный сервер, your_other_server, и путь, в данном случае ~/ для домашнего каталога удаленного пользователя. Здесь используется тот же синтаксис, что и в SSH или SCP.
/mnt/dropletпуть к локальному каталогу, используемому в качестве точки монтирования.
 sudo umount /mnt/droplet

Автоматическое монтирование диска

Открываем файл на редактирование

sudo vim /etc/fstab

Добавляем в файл

sammy@your_other_server:~/ /mnt/droplet fuse.sshfs noauto,x-systemd.automount,_netdev,reconnect,identityfile=/home/sammy/.ssh/id_rsa,allow_other,default_permissions 0 0  
ОпцияОписание
sammy@your_other_server:~/удаленный путь
/mnt/dropletлокальный путь
fuse.sshfsуказывает драйвер, используемый для монтирования этого удаленного каталога.
noauto,x-systemd.automount,_netdev,reconnectэто набор опций, которые совместно обеспечивают постоянное монтирование сетевых дисков в случае разрыва сетевого соединения с локальной или удаленной машины.
identityfile=/home/sammy/.ssh/id_rsaуказывает путь к локальному SSH-ключу, чтобы удаленный каталог мог быть смонтирован автоматически. Обратите внимание, что в этом примере предполагается, что и локальное, и удаленное имя пользователя - sammy - относится к локальному пути. Это необходимо, потому что /etc/fstab запускается от имени root и в противном случае не будет знать, какие SSH-конфигурации имени пользователя проверять на наличие ключа, которому доверяет удаленный сервер.
allow_other,default_permissionsиспользуйте те же разрешения, что и в команде mount выше.
0 0означает, что удаленная файловая система никогда не должна сбрасываться или проверяться локальной машиной в случае ошибок. Эти параметры могут отличаться при монтировании локального диска.

Примечание: Если вам нужно смонтировать удаленный каталог с помощью SSHFS, не требуя прав sudo, вы можете создать группу пользователей под названием fuse на локальной машине с помощью sudo groupadd fuse, а затем добавить вашего локального пользователя в эту группу с помощью sudo usermod -a -G fuse sammy.

Transport endpoint is not connected При выполненнии

ls /mnt

то

sudo umount -l /mnt/aeza

Connection reset by peer

Если вы получили сообщение Connection reset by peer, убедитесь, что вы скопировали свой SSH-ключ на удаленную систему. sshfs использует обычное SSH-соединение в фоновом режиме, и если вы впервые подключаетесь к удаленной системе по SSH, вам может быть предложено принять отпечаток ключа удаленного узла.