Files
sless/doc/sshfs-mount-setup.md
T

97 lines
3.5 KiB
Markdown

# Инструкции: монтирование удалённой папки через SSHFS
Дата: 2026-03-12
Кратко: эти команды повторяют текущее у вас подключение, где
источник: `naeel@5.172.178.213:/home/naeel/terra`, и точка монтирования — `/home/<user>/remote_dev`.
1) Установка `sshfs` (Debian/Ubuntu):
```bash
sudo apt update
sudo apt install -y sshfs
```
2) Подготовка приватного ключа:
- Скопируйте приватный ключ на целевую машину или загрузите его безопасным способом.
- Пример копирования с локальной машины на целевой хост:
```bash
scp /home/naeel/remote_dev/sless/secrets/naeel_vm_id_ed25519 user@target:/home/user/.ssh/id_ed25519_sless
ssh user@target 'chmod 600 /home/user/.ssh/id_ed25519_sless'
```
(Оригинал ключа в репозитории: `secrets/naeel_vm_id_ed25519`)
3) Создать точку монтирования на целевом хосте:
```bash
mkdir -p /home/user/remote_dev
chown user:user /home/user/remote_dev
```
4) Команда монтирования (пример, повторяет ваше текущее подключение):
```bash
sshfs -o IdentityFile=/home/user/.ssh/id_ed25519_sless \
-o StrictHostKeyChecking=no \
-o UserKnownHostsFile=/dev/null \
-o reconnect \
-o ServerAliveInterval=15 \
-o ServerAliveCountMax=3 \
naeel@5.172.178.213:/home/naeel/terra /home/user/remote_dev
```
5) Проверка статуса монтирования и содержимого:
```bash
findmnt /home/user/remote_dev
ls -la /home/user/remote_dev
```
6) Отключение:
```bash
fusermount -u /home/user/remote_dev
```
7) (Опционально) systemd unit для автоподключения при старте:
Создайте файл `/etc/systemd/system/remote_dev.mount` со следующим содержимым (отредактируйте путь к ключу и `Where`):
```ini
[Unit]
Description=SSHFS mount for /home/user/remote_dev
After=network-online.target
Wants=network-online.target
[Mount]
What=naeel@5.172.178.213:/home/naeel/terra
Where=/home/user/remote_dev
Type=fuse.sshfs
Options=IdentityFile=/home/user/.ssh/id_ed25519_sless,allow_other,reconnect,ServerAliveInterval=15,ServerAliveCountMax=3,StrictHostKeyChecking=no,UserKnownHostsFile=/dev/null
[Install]
WantedBy=multi-user.target
```
Затем выполнить:
```bash
sudo systemctl daemon-reload
sudo systemctl enable --now remote_dev.mount
```
8) Заметки по безопасности и надёжности:
- Храните приватный ключ с правами `600` и ограниченным доступом.
- Рассмотрите использование `ssh-agent` вместо копирования ключа.
- Опция `StrictHostKeyChecking=no` ослабляет проверку host key — используйте осознанно.
- Для массовой настройки можете создать скрипт установки и unit-файл через Ansible/Cloud-init.
---
Файл создан автоматически по запросу пользователя. Если хотите, могу:
- добавить инструкции для `macOS` или `CentOS`/`RHEL`;
- создать такой же unit-файл и загрузить его на целевой хост (при доступе по SSH).