Как да използваме SSHFS за монтиране на отдалечени файлови системи през SSH

SSHFS

Въведение

Можете да инсталирате SSHFS за монтиране на отдалечена директория, като използвате само SSH. Това има значителното предимство, че не изисква допълнителна конфигурация и наследява разрешения от SSH потребителя на отдалечената система.

SSHFS е особено полезен, когато трябва да четете от голям набор от файлове интерактивно на индивидуална основа.

Предпоставки

Два Linux сървъра, които са конфигурирани да позволяват SSH достъп между тях. Един от тях може да бъде локална машина, а не облачен сървър.

SSHFS е достъпен за повечето Linux дистрибуции.

Например, за Ubuntu и Debian, можете да използвате следната команда:

sudo apt-get install sshfs

Уверете се, че имате правилните разрешения и ключове за SSH

Вашият SSH ключ, указан с опцията IdentityFile, трябва да бъде достъпен и наличен на локалната машина.

Създайте директорията, в която искате да монтирате отдалечената файлова система, ако тя все още не съществува:

Като пример ще дам droppy

mkdir -p /home/fedia/droppy

Заменете fedia с вашето име.

Изпълнете командата за монтиране с sudo (ако е необходимо)

sudo sshfs -o allow_other,IdentityFile=/home/fedia/.ssh/fiu.id_rsa root@10.220.220.79:/root/dockeri/droppy/data /home/fedia/droppy

Ще разбия командата на части:

sudo: Тази команда позволява да се изпълни с администраторски права (суперпотребител). Това може да бъде необходимо, ако монтирането изисква администраторски права.

sshfs: Това е основната команда, която се използва за монтиране на отдалечени директории чрез SSHFS.

-o allow_other: Това опция позволява на други потребители освен собственика на монтираната директория да имат достъп до нея.

IdentityFile=/home/fedia/.ssh/fiu.id_rsa: С тази опция се указва пътят до SSH ключ файла, който ще се използва за аутентикация при SSH връзката. Това може да бъде полезно, ако искате да използвате конкретен ключ за тази връзка.

root@10.220.220.79:/root/dockeri/droppy/data: Това е адресът на отдалечената директория, която искате да монтирате. В този случай, името на потребителя е root, IP адресът на отдалечената машина е 10.220.220.79, а пътят до директорията на отдалечената машина, която искате да монтирате, е /root/dockeri/droppy/data.

/home/fedia/droppy: Това е локалната директория, в която искате да монтирате отдалечената файлова система.

След като изпълните тази команда, трябва да видите монтираната отдалечена файлова система в директорията /home/fedia/droppy на вашата локална машина.

Ако сте предоставили правилните данни и ключове, трябва да можете да достъпвате съдържанието на отдалечената файлова система оттам.

Ако искате отдалечената файлова система да се монтира автоматично при стартиране на локалната машина, следвайте стъпките:

Автоматизиране монтирането на отдалечената файлова система чрез systemd service.

Ето как можете да използвате systemd service за автоматично монтиране на отдалечената файлова система:

Създайте systemd service файл за монтиране

Създайте файл с разширение .service (например droppy-mount.service) в директорията /etc/systemd/system/. Можете да го направите с текстов редактор:

sudo vi /etc/systemd/system/droppy-mount.service

Добавете следното съдържание във файла, като заместите <ПЪТДОВАШИЯSSHКЛЮЧ> и <ПЪТДОДИРЕКТОРИЯТАЗАМОНТИРАНЕ> с вашите собствени пътища:

[Unit]
Description=SSHFS Mount for Remote File System
After=network-online.target
Wants=network-online.target

[Service]
Type=oneshot
RemainAfterExit=yes
TimeoutSec=30
ExecStart=/usr/bin/sshfs -o allow_other,IdentityFile=<ПЪТДОВАШИЯSSHКЛЮЧ> root@10.220.220.79:/root/dockeri/droppy/data <ПЪТДОДИРЕКТОРИЯТАЗАМОНТИРАНЕ>

[Install]
WantedBy=multi-user.target

В примера горе, TimeoutSec=30 означава, че systemd ще чака до 30 секунди за стартиране на sshfs-mount.service.
Можете да настроите тази стойност според вашите нужди.

След като направите тази промяна, запишете файла, рестартирайте и стартирайте systemd service:

sudo systemctl daemon-reload
sudo systemctl enable droppy-mount.service
sudo systemctl start droppy-mount.service

Сега при следващото стартиране на системата, droppy-mount.service, ще бъде стартиран със забавяне от 30 секунди, което позволява време за мрежовата връзка да се стабилизира преди монтажът на отдалечената файлова система да започне.

Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу: