https://jtanx.github.io/2017/10/16/an-alternative-approach-to-sshfs-on-windows/
内容としては↑と同じです。しかしUbuntuではこの通りやってもできません。
あと日本語の情報だと次のURLにありますが、手順は解説されていません。
これの②をやります。
➀だと以下のような問題点がありました。
なぜWinSshFSを使わないか
SSHFSを使うのを一か所でまとめたい(がWindows上で動くLinuxとの共有が難しい)
WinSshFSを使ってこれをやるとなると上の図の➀になります。
VirtualBox上のLinuxとの共有では遅くて使えない
WSLで動くUbuntではそもそもマウントできなかった(たぶん?)
WindowsのDドライブに、WinSshFSでリモートのファイルをマウントしたところ、
今度はファイルシステムタイプのところをautoにしたところ
それと現在のところ、WSLのUbuntuはFUSEには対応していないようです。よってsshfsコマンドもたぶん使えないです。
https://wpdev.uservoice.com/forums/266908-command-prompt-console-bash-on-ubuntu-on-windo/suggestions/13522845-add-fuse-filesystem-in-userspace-support-in-wsl
再接続が怪しい
VPNなしではどうか知りませんが…ネット上では再接続が上手くいかないという情報も見るので、あまり期待はしてないです。
ちなみにmacOSでは
再接続も普通に行われます。
環境
Ubuntu 16.04 LTS 日本語ver Windows10 1803 ビルド17134.228
手順
UbuntuでSSHFSの準備(fuseグループのあたりが元記事には無いです)
# apt install sshfs
マウントポイントとしたいディレクトリのオーナーがfuseグループに追加されていることを確認してください。
(そうでない場合、read: Connection reset by peer とかいうエラーが出ます)
今回の説明の場合はuser1というユーザのホームディレクトリ以下に作成したので、user1をfuseグループに追加します。(fuseグループがない場合、groupaddコマンドでfuseグループを作成してください)
# usermod -a -G fuse user1
UbuntuでSambaの準備
VirtualBoxのネットワーク設定
インストール(同じ)
# apt install samba
Sambaの設定変更(設定ファイルの場所が元記事と違います)
[remotesshfs] comment = sshfs remote # マウントしたディレクトリの位置にでもする path = /home/user1/mount/mountpoint1 browseable = yes writeable = yes guest ok = yes acl allow execute always = True read only = no public = yes # user1の位置をVM上のLinuxで使用中のユーザ名に変える force user = user1
設定を再読み込みするためにデーモンを再起動します
# systemctl restart smbd nmbd
次に、ホストオンリーアダプターによってUbuntuに割り振られたIPアドレスを確認します。
$ ifconfig enp0s3 Link encap:イーサネット ハードウェアアドレス 08:00:27:c4:98:ce inetアドレス:10.0.2.15 ブロードキャスト:10.0.2.255 マスク:255.255.255.0 inet6アドレス: fe80::528a:18a6:99ef:d36a/64 範囲:リンク UP BROADCAST RUNNING MULTICAST MTU:1500 メトリック:1 RXパケット:20 エラー:0 損失:0 オーバラン:0 フレーム:0 TXパケット:118 エラー:0 損失:0 オーバラン:0 キャリア:0 衝突(Collisions):0 TXキュー長:1000 RXバイト:3940 (3.9 KB) TXバイト:14540 (14.5 KB) enp0s8 Link encap:イーサネット ハードウェアアドレス 08:00:27:b8:3d:e0 inetアドレス:192.168.56.101 ブロードキャスト:192.168.56.255 マスク:255.255.255.0 inet6アドレス: fe80::49b4:7979:6a11:39ec/64 範囲:リンク UP BROADCAST RUNNING MULTICAST MTU:1500 メトリック:1 RXパケット:16 エラー:0 損失:0 オーバラン:0 フレーム:0 TXパケット:85 エラー:0 損失:0 オーバラン:0 キャリア:0 衝突(Collisions):0 TXキュー長:1000 RXバイト:2670 (2.6 KB) TXバイト:10390 (10.3 KB) lo Link encap:ローカルループバック inetアドレス:127.0.0.1 マスク:255.0.0.0 inet6アドレス: ::1/128 範囲:ホスト UP LOOPBACK RUNNING MTU:65536 メトリック:1 RXパケット:51 エラー:0 損失:0 オーバラン:0 フレーム:0 TXパケット:51 エラー:0 損失:0 オーバラン:0 キャリア:0 衝突(Collisions):0 TXキュー長:1 RXバイト:3939 (3.9 KB) TXバイト:3939 (3.9 KB)
192.168.56.101です。
こうすることで、Windowsのエクスプローラのアドレスバーに192.168.56.101remotesshfs と入れれば、VM上のUbuntuの/home/user1/mount/mountpoint1にアクセスできるようになります。
いよいよ接続
UbuntuとリモートとでSSHFSでファイル共有
ファイルパスやremote-user-nameとremote-host-nameは自分のものに変えてください。idmap=userというのはそういうオプションなので自分のユーザ名に変える必要はないです。
$ sshfs -o auto_cache -o reconnect -o allow_other -o idmap=user remote-user-name@remote-host-name:/home/user1/ /home/user1/mount/mountpoint1/
コメント