Windows 10でbashを使用して、SSHトンネルを確立し、リモートフォルダーをローカルフォルダーにマウントしたいと思います。
これまで、各WindowsマシンのVirtualBoxでUbuntuを使用し、sshfsサーバーを実行してから、sambaネットワーク共有としてフォルダーをホストと共有していました。私はこれを単純化しようとしています。理想的には、Windows10でbashを使用します。
また、Windowsでループバックアダプターを使用してPuTTYを試しましたが、すべてが機能することはありませんでした。基本ユーザーはこちら。
結局、Windows Subsystem for Linux(WSL)バージョン2(Windows 10ビルド2004)を使用することになりました。リモートロケーションをマウントするために、Fuseが機能する必要があるsshfsを使用しました。ただし、FuseはWSL1では機能しません。
これで、Windows10のWSL2のUbuntubashで実行できます。
Sudo sshfs [email protected]:/ /home/thomas/Farone2 -o allow_other -o port=222 -o reconnect -o identityfile=/home/thomas/.ssh/id_rsa
wSL1でエラーが発生していました:
Fuse: device not found, try 'modprobe Fuse' first
thomas@ThomasLondon:~$ modprobe Fuse modprobe: FATAL: Module Fuse not
found in directory /lib/modules/4.4.0-18362-Microsoft
sshfsコマンドはWindows10のWSL2のUbuntubashで期待どおりに機能します
これで、SSHを介して別のWindows 10 PCからリモートの場所をマップしました。Windows10は、ファイルがローカルに保存されている場合と同じようにファイルを処理します。 SSHサービスが実行されているリモートコンピューターで実行されているWSL1があります。
スクリプトを実行するWindowsタスクスケジューラを使用してこれを自動化し、起動時やWorkStationUnlockなどでリモートロケーションを自動的にマウントしました。
これを自動的に実行する場合は、キーファイルオプションを使用してキーを使用して認証する必要があるため、リモートPCにアクセスするためにパスワードは必要ありません。
また、Ubuntuでsudoersファイルを編集して、Sudoを使用してフォルダーをマウントするために実行するスクリプトがパスワードを必要としないようにする必要があります。
タスクスケジューラを使用したbashスクリプトの実行の詳細については、こちらをご覧ください。
https://dev.to/ironfroggy/wsl-tips-starting-linux-background-services-on-windows-login-3o98
そして
https://www.illuminiastudios.com/dev-diaries/ssh-on-windows-subsystem-for-linux/