Сделал готовую инструкцию, чтобы можно было быстро всё настроить с аутентификацией по ключам и с systemd юнитом для автомонтирования при загрузке.
Ставим sshfs:
# apt install sshfsГенерируем и копируем на удалённую машину ключ:
# ssh-keygen -t ed25519# ssh-copy-id root@10.20.1.6Можно подключаться с помощью пароля, но для этого его нужно будет интерактивно вводить вручную. Не получится настроить автомонтирование. Хотя если применить утилиту expect, то и это ограничение можно обойти. Но с сертификатом удобнее и проще.
Всё готово, монтируем д иректорию
/etc/letsencrypt с сервера 10.20.1.6 к себе в /mnt/letsencrypt:# sshfs root@10.20.1.6:/etc/letsencrypt /mnt/letsencryptПроверяем:
# df -h | grep 10.20.1.6root@10.20.1.6:/etc/letsencrypt 20G 1.8G 17G 10% /mnt/letsencryptРазмонтировать можно вот так:
# fusermount -u /mnt/letsencryptСоздаём службу systemd:
# systemctl edit --force --full sshfs.service[Unit]Description=Mount sshfsAfter=network-online.targetWants=network-online.target[Service]Type=oneshotRemainAfterExit=trueExecStart=sshfs root@10.20.1.6:/etc/letsencrypt /mnt/letsencryptExecStop=fusermount -u /mnt/letsencrypt[Install]WantedBy=multi-user.targetСохраняем, запускаем, добавляем в автозагрузку:
# systemctl start sshfs.service# systemctl enable sshfs.serviceЕсли хотим отмонтировать, то просто останавливаем:
# systemctl stop sshfs.serviceЯ показал примеры на тестовом сервере, сделав всё от root. Если будете настраивать куда-то на постоянку, то скорее всего будете запускать под каким-то другим пользователем (хотя кого я обманываю). Через параметры
User=sftp-userGroup=sftp-userМожно в systemd указать пользователя, под которым всё это будет монтироваться.
Способ подключения дисков через sshfs костыльный, но вполне рабочий. Пользоваться можно. Если есть возможность настроить nfs или smb, с ними будет лучше. Но, например, конкретно для монтирования директории с сертификатами, разницы никакой нет. Сразу подчеркну, что эту задачу можно решать и по-другому. Например, хуками и копированием сертификатов на целевой хост. Решения задачи может быть много. Я показал один из них.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#ssh #fileserver
