sshfsは便利

普段、自宅では Nextcloud を使ってます。

Nextcloud は、複数の PC から同じファイルを参照できて、履歴管理もできるのでユーザーデータの管理に適していると思ってますが、ものによっては履歴管理不要なデータもあったりします。

というか自宅利用だと、大半が履歴不要だったり。
こんな中困るのが、履歴不要だけどよく更新されるファイル。

履歴不要なファイル用に、別途 Nextcloud サーバの空きスペースをマウントすることにしました。

NFS や WebDAV があり、設定かんたんな WebDAV を使おうとググってみたら、SSHFS なるものがあることを発見。

SFTP みたいにサーバと SSH で接続できれば、使えるお手軽マウントだったので試してみました。

クライアント側にツール導入。

$ sudo apt update -y && sudo apt upgrade -y && sudo apt install -y sshfs

マウントポイントを作成して権限付与。

$ sudo mkdir /home/xxx/sshfs-192.168.9.999
$ sudo chmod 0700 /home/xxx/sshfs-192.168.9.999
$ sudo chown xxx /home/xxx/sshfs-192.168.2.205/

マウントしてみる。(リモートパス未指定)

$ sshfs {serverAccount}@192.168.9.999: /home/xxx/sshfs-192.168.9.999
$ ls /home/xxx/sshfs-192.168.9.999/
test.txt  todolist.db

リモートのパス未指定だと、サーバのホームにマウントされる。

$ ls
test.txt  todolist.db
$ pwd
/home/{serverAccount}

リモートパス指定の場合は、こんな感じ。 ※例:/media/test

$ sshfs -o password_stdin xxx@192.168.9.999:/media/test /home/xxx/sshfs-192.168.9.999

引数 password_stdin を使うと、パスワードを標準出力で渡すことが可能。

$ cat ~/.sshfs.text | sshfs -o password_stdin xxx@192.168.9.999:/media/test /home/xxx/sshfs-192.168.9.999

本当は PAM を使うらしい...

$ sshfs --help | grep password_stdin
    -o password_stdin      read password from stdin (only for pam_mount!)

SSH のように公開鍵認証も使えるようなので、本当ならそうしたほうが無難ではある。