sshfsでサーバのディレクトリをマウントする方法

Ubuntuでsshfsを使用してSSH接続で、他サーバのディレクトリをマウントする方法です。

sshfsとは

sshfsを使用すると、ssh接続を使用して接続先サーバのディレクトリをマウントすることができるようになります。

一度ディレクトリをマウントしてしまうと、自分のサーバにあるディレクトリと同じように扱うことができるので、とてもデータの扱いが簡単・便利になります。

インストール

aptでsshfsをインストールします。

$ sudo apt update
$ sudo apt install sshfs

マウント方法

SSH接続先ホストのディレクトリをマウントする場合は、下記のコマンドを実行します。

$ sshfs ユーザ@接続先ホスト:ディレクトリ マウントポイント オプション

オプション説明

普段使用しそうなオプションを抜粋して説明します。

-o port=ポート番号
-p ポート番号
SSHで接続するためのポート番号が22番以外の場合にポート番号を指定
-o compression=yes
-C
通信の圧縮を行う
-o IdentityFile=秘密鍵 SSH接続が鍵認証方式の場合に使用する秘密鍵を指定
-o allow_other 他ユーザへの読み書き許可
-o reconnect 再接続を行う
-o idmap=user ユーザIDとグループIDをマッピング

基本は「-o オプション」といったように指定します。

複数のオプションを指定する場合は「,」で区切って指定します。

-o オプション1,オプション2,オプション3

「,」で区切らず下記のような書式でも、複数のオプションを指定することができます。

-o オプション1 -o オプション2 -o オプション3

アンマウント

マウントしたディレクトリをアンマウント(マウントの解除)する場合の下記のコマンドを実行します。

fusermount -u マウントポイント

sshfsによるマウント実行例

以下の内容で接続先ホストのディレクトリをマウントしていきます。

  • 接続先ホスト 172.16.0.1
  • SSH接続ユーザ tamohiko
  • SSH接続は鍵認証方式
  • SSH接続用ポート番号 10022
  • マウントディレクトリ /home/tamohiko/music
  • マウントポイント /home/tamohiko/sshfs_mnt

マウントポイントの作成

マウントポイントとして使用するディレクトリを作成します。

$ cd /home/tamohiko/
$ mkdir sshfs_mnt

マウント実行

実際にsshfsコマンドでマウントを行います。

$ sshfs tamohiko@172.16.0.1:/home/tamohiko/music /home/tamohiko/sshfs_mnt -o port=10022,compression=yes,reconnect,idmap=user,IdentityFile=/home/tamohiko/.ssh/id_ed25519_nopass.key

dfコマンドで実際にマウントできていることが確認できます。

$ df -hT
Filesystem                               Type        Size  Used Avail Use% Mounted on
tmpfs                                    tmpfs       790M  1.9M  789M   1% /run
/dev/sda1                                ext4        110G   59G   46G  57% /
tmpfs                                    tmpfs       3.9G  281M  3.6G   8% /dev/shm
tmpfs                                    tmpfs       5.0M  4.0K  5.0M   1% /run/lock
tmpfs                                    tmpfs       790M  176K  790M   1% /run/user/1000
tamohiko@172.16.0.1:/home/tamohiko/music fuse.sshfs   99G   12G   83G  13% /home/tamohiko/sshfs_mnt

アンマウント

マウントされたディレクトリをアンマウントします。

$ fusermount -u /home/tamohiko/sshfs_mnt 

dfコマンドで確認すると、アンマウントされたことが確認できます。

$ df -hT
Filesystem     Type   Size  Used Avail Use% Mounted on
tmpfs          tmpfs  790M  1.9M  789M   1% /run
/dev/sda1      ext4   110G   59G   46G  57% /
tmpfs          tmpfs  3.9G  281M  3.6G   8% /dev/shm
tmpfs          tmpfs  5.0M  4.0K  5.0M   1% /run/lock
tmpfs          tmpfs  790M  176K  790M   1% /run/user/1000

コメント

タイトルとURLをコピーしました