Parallels Desktop for Macを使っていると、今度はそこで動かしているUbuntu VMのディレクトリにホスト側のMacからアクセスしたくなってきました。
参考: SSH接続で接続先のファイルをFinderで使えるように! – よしなしブログ
ネットで調べると、多くの記事でosxfuseとsshfsを導入することでできるとあります。
- リポジトリ: osxfuse/osxfuse
- リポジトリ: osxfuse/sshfs
シェルでマウントするだけでよくて、MacのFinderにマウントする必要がなければsshfsだけでよいのかなと思ったのですが、実際にはosxfuseも必要でした。
今更ですが、ここで使われているらしいFUSEという技術はかなり強力みたいですね。
インストール方法
Homebrewが使えるなら以下を実行するだけで完了です。
brew cask install osxfuse
brew install sshfs
Homebrewがなくても、上のサイトでそれぞれのpkgファイルをダウンロードしてダブルクリックすればインストールできます。
マウント方法
既にsshで鍵を使って接続可能になっていれば、以下の書式でコマンドを実行すればマウントできます。マウントディレクトリは事前にmkdir
で作っておきます。
# 書式
sshfs ユーザー名@サーバー名:/ディレクトリ/ マウントディレクトリ -p 22
たとえば以下のように実行します。自分の場合はシェルスクリプトにまとめました。
sshfs hachi8833@paraubu:/home/hachi8833/ ~/paraubu -p 22
以下のようにデスクトップにボリュームがマウントされれば成功です。これでシェルでもマウント先にアクセスできるようになります。
なお、osxfuseをインストールしていない場合、Finderやオープンダイアログではこのマウントディレクトリは表示されません。
自動マウントは?
sshfsのマウントを起動時に自動化しようかとも思いましたが、Parallels Desktop for MacのUbuntu VMが起動し終わらないうちにマウントを試みてもうまくいかない可能性があります。
仕方なく、今のところはマウントのスクリプトをシェルで手動実行しています。何かうまい方法があればいいのですが。
アンマウント方法
Linuxの場合はfusermount
コマンドを使うのだそうです。Linuxでは通常ユーザーはumount
を実行できないためです。
しかしmacOSの場合は、公式のWikiでumount
を使えという指示になっています。
- Wiki: FAQ: 4.8 — umount
# 書式
umount マウントディレクトリ
上でマウントしたディレクトリは以下のようになります。
umount paraubu