использование SSHFS для монтирования удаленных каталогов через SSH

Thank you for reading this post, don't forget to subscribe!

SSHFS (SSH Filesystem) – это кли­ент фай­ло­вой систе­мы на осно­ве FUSE для мон­ти­ро­ва­ния уда­лен­ных ката­ло­гов по SSH-соеди­не­нию. SSHFS исполь­зу­ет про­то­кол SFTP, кото­рый явля­ет­ся под­си­сте­мой SSH и вклю­чен по умол­ча­нию на боль­шин­стве сер­ве­ров SSH.

По срав­не­нию с дру­ги­ми про­то­ко­ла­ми сете­вой фай­ло­вой систе­мы, таки­ми как NFS и Samba, пре­иму­ще­ство SSHFS заклю­ча­ет­ся в том, что он не тре­бу­ет какой-либо допол­ни­тель­ной настрой­ки на сто­роне сер­ве­ра. Для исполь­зо­ва­ния SSHFS вам нужен толь­ко SSH-доступ к уда­лен­но­му серверу.

Посколь­ку SSHFS исполь­зу­ет SFTP, все пере­да­ва­е­мые дан­ные меж­ду сер­ве­ром и кли­ен­том долж­ны быть зашиф­ро­ва­ны и рас­шиф­ро­ва­ны. Это при­во­дит к слег­ка ухуд­шен­ной про­из­во­ди­тель­но­сти по срав­не­нию с NFS и более высо­кой загруз­ке ЦП на кли­ен­те и сервере.

Из этой ста­тьи вы узна­е­те, как уста­но­вить кли­ент SSHFS в Linux, macOS и Windows и как смон­ти­ро­вать уда­лен­ный каталог.

 

Паке­ты SSHFS доступ­ны для всех основ­ных опе­ра­ци­он­ных систем, и уста­нов­ка доволь­но проста.

 

SSHFS досту­пен из репо­зи­то­ри­ев Ubuntu и Debian по умол­ча­нию. Обно­ви­те индекс паке­тов и уста­но­ви­те кли­ент sshfs, набрав:

В CentOS и дру­гих про­из­вод­ных Red Hat для уста­нов­ки sshfs выпол­ни­те сле­ду­ю­щую команду:

Поль­зо­ва­те­ли macOS могут уста­но­вить кли­ент SSHFS, загру­зив паке­ты FUSE и SSHFS с сай­та osxfuse или через Homebrew:

Поль­зо­ва­те­лям Windows необ­хо­ди­мо уста­но­вить два паке­та, WinFsp и SSHFS-Win.

  • WinFsp.
  • SSHFS-Win.

Сле­ду­ю­щие инструк­ции при­ме­ни­мы для всех дис­три­бу­ти­вов Linux и macOS.

Что­бы смон­ти­ро­вать уда­лен­ный ката­лог, поль­зо­ва­тель SSH дол­жен иметь доступ к нему. Коман­да мон­ти­ро­ва­ния SSHFS име­ет сле­ду­ю­щий вид:

 

Коман­да sshfs про­чи­та­ет файл кон­фи­гу­ра­ции SSH и будет исполь­зо­вать настрой­ки для каж­до­го хоста. Если уда­лен­ный ката­лог не ука­зан, по умол­ча­нию исполь­зу­ет­ся домаш­ний ката­лог уда­лен­но­го пользователя.

Напри­мер, что­бы смон­ти­ро­вать домаш­ний ката­лог поль­зо­ва­те­ля с име­нем «andreyex» на уда­лен­ном хосте с IP-адре­сом «192.168.111.011», сна­ча­ла создай­те каталог,который будет слу­жить точ­кой мон­ти­ро­ва­ния, это может быть любое местоположение:

 

Затем исполь­зуй­те коман­ду sshfs для мон­ти­ро­ва­ния уда­лен­но­го каталога:

 

Вам будет пред­ло­же­но вве­сти пароль поль­зо­ва­те­ля. Что­бы избе­жать вво­да паро­ля каж­дый раз, когда вы мон­ти­ру­е­те уда­лен­ный ката­лог, гене­ри­руй­те SSH-клю­чи и настра­и­вай­те Passwordless SSH Login.

Теперь вы може­те вза­и­мо­дей­ство­вать с ката­ло­га­ми и фай­ла­ми, рас­по­ло­жен­ны­ми на уда­лен­ном сер­ве­ре, так же, как и с локаль­ны­ми фай­ла­ми. Напри­мер, вы може­те редак­ти­ро­вать, уда­лять, пере­име­но­вы­вать или созда­вать новые фай­лы и каталоги.

Если вы хоти­те авто­ма­ти­че­ски мон­ти­ро­вать уда­лен­ный ката­лог, вам нуж­но отре­дак­ти­ро­вать файл /etc/fstab локаль­но­го ком­пью­те­ра и доба­вить новую запись о мон­ти­ро­ва­нии. Таким обра­зом, когда ваша систе­ма загру­жа­ет­ся, она авто­ма­ти­че­ски мон­ти­ру­ет уда­лен­ный каталог.

Что­бы смон­ти­ро­вать уда­лен­ный ката­лог через SSHFS /etc/fstab, исполь­зуй­те fuse.sshfs в каче­стве типа фай­ло­вой системы.

/etc/fstab

 

При созда­нии посто­ян­но­го мон­ти­ро­ва­ния убе­ди­тесь, что вы може­те под­клю­чить уда­лен­ный хост с исполь­зо­ва­ни­ем аутен­ти­фи­ка­ции на осно­ве клю­ча SSH.

 

Поль­зо­ва­те­ли Windows могут исполь­зо­вать про­вод­ник Windows для сопо­став­ле­ния сете­во­го дис­ка с уда­лен­ным ката­ло­гом на сер­ве­ре SSH.

Открой­те про­вод­ник Windows, щелк­ни­те пра­вой кноп­кой мыши «Мой ком­пью­тер» и выбе­ри­те «Под­клю­чить сете­вой диск». Выбе­ри­те диск для мон­ти­ро­ва­ния и в поле «Пап­ка» вве­ди­те уда­лен­но­го поль­зо­ва­те­ля, сер­вер и путь в сле­ду­ю­щем формате:

На момент напи­са­ния этой ста­тьи SSHFS-Win не под­дер­жи­ва­ет аутен­ти­фи­ка­цию на осно­ве клю­чей, поэто­му необ­хо­ди­мо настро­ить уда­лен­ный ssh-сер­вер для при­ня­тия аутен­ти­фи­ка­ции на осно­ве пароля.

 

Что­бы отсо­еди­нить смон­ти­ро­ван­ную фай­ло­вую систе­му, исполь­зуй­те коман­ду umount или, fusermount а затем ката­лог, в кото­ром она была смон­ти­ро­ва­на (точ­ка монтирования):

Из этой ста­тьи вы узна­ли, как исполь­зо­вать SSHFS для мон­ти­ро­ва­ния уда­лен­но­го ката­ло­га через SSH. Это может быть полез­но, когда вы хоти­те вза­и­мо­дей­ство­вать с уда­лен­ны­ми фай­ла­ми с помо­щью при­ло­же­ний на локаль­ном компьютере.

Для полу­че­ния пол­но­го спис­ка опций sshfs вве­ди­те man sshfs в свой терминал.