TGViewer
NetworkAdmin.ru NetworkAdmin.ru @networkadminru · 4.7K subscribers
Post #956 1.12K
📂 sshfs: монтируем удаленный каталог через SSH и systemd

sshfs позволяет монтировать удаленную файловую систему через обычное SSH-соединение. То есть если у вас есть SSH-доступ к серверу, можно подключить его каталог как локальную директорию. Это не самый быстрый способ: SSHFS работает через FUSE в user space, плюс само SSH-соединение добавляет накладные расходы. Но для некоторых задач это очень удобно. Особенно когда: SSH уже открыт; NFS/SMB поднимать не хочется; нужен быстрый доступ к отдельному каталогу или нужно временно подключить данные

▪️ Установка:


apt install sshfs


▪️ Для автомонтирования лучше сразу настроить доступ по ключу. Генерируем ключ:


ssh-keygen -t ed25519


Копируем его на удаленный сервер:


ssh-copy-id root@10.20.1.6


Можно подключаться и по паролю, но для systemd-автомонтирования это неудобно: пароль придется вводить интерактивно. С ключом все проще и надежнее.

▪️ Пример. Допустим, нужно смонтировать каталог:


root@10.20.1.6:/etc/letsencrypt


в локальный путь:


/mnt/letsencrypt


Создаем точку монтирования:


mkdir -p /mnt/letsencrypt


Монтируем вручную:


sshfs root@10.20.1.6:/etc/letsencrypt /mnt/letsencrypt


Проверяем:


df -h | grep 10.20.1.6


Размонтировать можно так:


fusermount -u /mnt/letsencrypt


▪️ Теперь сделаем systemd-unit, чтобы монтировать каталог автоматически. Создаем service:


systemctl edit --force --full sshfs-letsencrypt.service


Пример unit-файла:


[Unit]
Description=Mount /etc/letsencrypt over SSHFS
After=network-online.target
Wants=network-online.target

[Service]
Type=oneshot
RemainAfterExit=true

ExecStart=/usr/bin/sshfs root@10.20.1.6:/etc/letsencrypt /mnt/letsencrypt -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3
ExecStop=/usr/bin/fusermount -u /mnt/letsencrypt

[Install]
WantedBy=multi-user.target


Перечитываем systemd:


systemctl daemon-reload


Запускаем:


systemctl start sshfs-letsencrypt.service


Добавляем в автозагрузку:


systemctl enable sshfs-letsencrypt.service


Если нужно размонтировать каталог:


systemctl stop sshfs-letsencrypt.service


▪️ Полезные опции:

• reconnect - Пытаться восстановить подключение при обрыве.
• ServerAliveInterval=15 - Периодически проверять, живо ли SSH-соединение.
• ServerAliveCountMax=3 - После нескольких неудачных проверок считать соединение мертвым.

В примере все сделано от root для простоты. Для постоянной схемы лучше использовать отдельного пользователя с минимальными правами. В systemd можно указать:


User=sftp-user
Group=sftp-user


Но тогда важно, чтобы у этого пользователя были права на точку монтирования и SSH-ключи.

#linux #sshfs

🧑‍💻 NetworkAdmin
  • 👍 8
  • ❤ 1
More from @networkadminru
  1. Sep 29, 2026🥱 Как быстро разобраться с дисками и маунтами Когда на сервере несколько дисков, LVM, отд…
  2. Sep 28, 2026🔎 TCP keepalive: как находить мертвые соединения до того, как они создадут проблему Иногд…
  3. Sep 25, 2026🤩 Как расшифровать код ошибки Windows через certutil При установке обновлений Windows ран…
  4. Sep 23, 2026💻 Как жестко перезагрузить linux, когда обычный reboot уже не помогает Иногда сервер зави…
  5. Sep 22, 2026🌚 watch: простая динамическая диагностика в терминале Иногда не нужен отдельный мониторин…
  6. Sep 21, 2026👌 Firewall default deny: как внедрять без внезапного отрезания доступа Идея простая: разр…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →