サーバ上のディレクトリをローカルにマウントするsshfsの使い方

はじめに

Linuxでは、サーバ側のディレクトリを自身のローカルPCにマウントして、ローカル上のディレクトリして使用することができるコsshfsというマンドが用意されています。名前の通りsshを使います。ここではこのsshfsのUbuntuでの使い方をメモします。

できるようになること

以下のように、サーバ上のディレクトリをUbuntuのローカルのディレクトリとしてマウントすることができるようになります。


以下のようにローカルのディレクトリのようにアクセスすることができます。もちろんコマンドでのファイル操作も可能です。


sshfsをインストール

以下のコマンドを実行してインストールは完了です。


ローカルにマウントポイントとなるディレクトリを作成

今回はホームディレクトリにremote-serverというディレクトリを作成し、ここにサーバ上のディレクトリをマウントします。以下のようにcdに引数を渡さずに実行すればホームディレクトリに移動します。


マウントする

後は実際にsshfsコマンドでマウントします。
なお、以降では例として以下をssh接続のために使う情報とします。

  • ssh接続に必要なユーザ名: sshuser
  • 接続先となるサーバIP: 192.168.1.1
  • ローカルのマウントポイントとなるディレクトリ名: remote-server(上記で作成したディレクトリ)


一番簡単な使い方としては以下になります。


よって以下を実行するとサーバ上でのルートディレクトリがローカルのremote-serverにマウントされます。


サーバ上の/home/user1というディレクトリをローカルのremote-serverにマウントしたい場合は、以下のコマンドになります。


正常にマウントされると、以下のように外部ディスクとして表示されます。


以上が簡単な使い方になります。以降に秘密鍵を使った場合の使い方を載せます。

秘密鍵を指定してssh接続してマウントする

秘密鍵を指定してssh接続してマウントする場合は、以下のようになります。見て分かるように-o IdentityFile=ローカルの秘密鍵のパスというオプションで使用する秘密鍵を指定しています。


ローカルの~/.ssh/id_rsa.keyを秘密鍵として使いたい場合は以下になります。


ポート番号を指定したい場合は、-p ポート番号オプションを使います。以下の例ではssh接続で使用するポート番号として10022を指定しています。


秘密鍵指定、ポート番号指定、サーバ上の/home/user1というディレクトリをマウントする場合は、以下のコマンドになります。


最後に、~/.ssh/configに記載された接続情報を使ってssh接続してマウントする場合を説明します。

~/.ssh/configの設定ファイルにある情報を使ってssh接続してマウントする

sshでサーバに接続する時に、sshの設定ファイルである~/.ssh/configに記載の情報を使って接続することも多いと思います。
例えば、~/.ssh/configに以下の内容が記載されているとします。


この~/.ssh/configに記載の情報を使用してsshfsを使うには、以下のようにします。


以下は~/.ssh/configに記載のremotesvrサーバのルートディレクトリをremote-serverにマウントします。


他の例と同様に、サーバ上の/home/user1をマウントしたい場合は以下になります。


アンマウントする

以下のumountコマンドでアンマウントできます。なお、root権限である必要があります。


なお、マウントした状態でネットワーク接続が切断され、ssh接続も切断されると、umountしても以下の様なエラーが表示されます。


この場合は、まずpsコマンドでsshfsのプロセス番号を確認し、それをkillコマンドで終了します。pskillコマンドのオプションについては参考サイト様をご参照ください。


なお、killしただけではすでにssh接続が切断されているのにマウントされた状態になってしまっており、この状態で例えば以下のようにcdでアクセスしようとすると、以下のようなエラーが表示されます。そのため、最後に改めてumountを実行する必要があります。


最後にumountに強制アンマウントのための-fオプションをつけてroot権限で実行します。


【 ps 】 実行中のプロセスを表示する | ITPRO
【 kill 】 プロセスおよびジョブを強制終了する | ITPRO


まとめ

sshfsによってサーバ上でのディレクトリをでローカルディレクトリと同じように使えると、いちいちFTPクライアント等を使う必要がなく便利です。

SPONSORED LINK

この投稿へのコメント

コメントはありません。

コメントを残す

メールアドレスが公開されることはありません。

この投稿へのトラックバック

トラックバックはありません。

トラックバック URL