📁 Монтируем удалённый диск по SSH без GUI — просто, чётко, на века

Иногда не хочется городить огород из SAMBA, NFS или других тяжеловесных решений. Если у тебя уже настроено SSH-соединение по ключу — ты на коне. Благодаря sshfs, можно примонтировать удалённую папку как диск прямо по SSH. Быстро, безопасно, без GUI и с возможностью автомонтирования при загрузке. И никаких NetworkManager!


🧰 Установка SSHFS

На локальной машине (куда монтируем):

sudo apt update
sudo apt install sshfs

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

mkdir -p /mnt/remote_ssh_disk

💡 Флаг -p означает: «создай родительские каталоги, если их нет, и не ругайся, если они уже есть».


🔗 Разовое монтирование через sshfs

sshfs user@remote_host:/путь/на/удалённой/машине /mnt/remote_ssh_disk

Пример:

sshfs root@192.168.1.100:/srv/data /mnt/remote_ssh_disk

🚪 Если SSH работает на нестандартном порту

Используй опцию -p, либо -o port=порт:

sshfs -p 2222 user@host:/path /mnt/remote_ssh_disk
# или
sshfs user@host:/path /mnt/remote_ssh_disk -o port=2222

Для нестандартного ключа:

sshfs user@host:/path /mnt/remote_ssh_disk -o IdentityFile=/home/you/.ssh/custom_key,port=2222

🔁 Постоянное монтирование через /etc/fstab

Да, sshfs можно добавить в fstab, но с нюансами. Для этого создадим:

1. Файл с параметрами подключения

Создай файл, например:

sudo nano /etc/fstab-sshfs.conf

Впиши туда:

IdentityFile=/home/you/.ssh/id_rsa
port=2222

Проверь права:

sudo chmod 600 /etc/fstab-sshfs.conf

2. Добавь запись в

Открой:

sudo nano /etc/fstab

И добавь строку:

user@remote_host:/remote/path /mnt/remote_ssh_disk fuse.sshfs noauto,x-systemd.automount,_netdev,users,IdentityFile=/home/you/.ssh/id_rsa,port=2222 0 0

Или, если используешь файл с опциями:

user@remote_host:/remote/path /mnt/remote_ssh_disk fuse.sshfs noauto,x-systemd.automount,_netdev,users,defaults,allow_other,comment=sshfs,config=/etc/fstab-sshfs.conf 0 0

⚙️ Пояснение ключей:

  • noauto — не монтировать при загрузке напрямую (требует systemd.automount).
  • x-systemd.automount — автомонтировать при первом доступе.
  • _netdev — указывает, что диск сетевой (чтобы не монтировался до старта сети).
  • allow_other — позволяет другим пользователям использовать папку (если надо).
  • IdentityFile и port — для подключения по ключу и на нестандартном порту.

3. Протестируй:

sudo mount /mnt/remote_ssh_disk

Если всё подключилось — ты в игре.


🧼 Размонтирование

  • Обычное:
fusermount -u /mnt/remote_ssh_disk
  • Если занят:
sudo umount -l /mnt/remote_ssh_disk

(ленивое размонтирование — как отпуск по болезни, только для папок)


🧠 Заключение

SSHFS — это просто и мощно. Ты получаешь сетевой диск с шифрованием, авторизацией по ключу и нативной интеграцией в Linux, без необходимости настраивать сторонние протоколы. А fstab с systemd.automount превращает это решение в надёжную часть инфраструктуры.

Работает? Работает. GUI? Не нужен. Жизнь? Прекрасна.