web-dev-qa-db-ja.com

2台のWindows10コンピューター間でSSH経由でフォルダーにアクセスする方法

Windows 10でbashを使用して、SSHトンネルを確立し、リモートフォルダーをローカルフォルダーにマウントしたいと思います。

これまで、各WindowsマシンのVirtualBoxでUbuntuを使用し、sshfsサーバーを実行してから、sambaネットワーク共有としてフォルダーをホストと共有していました。私はこれを単純化しようとしています。理想的には、Windows10でbashを使用します。

また、Windowsでループバックアダプターを使用してPuTTYを試しましたが、すべてが機能することはありませんでした。基本ユーザーはこちら。

1
ThomasHunter

結局、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/

1
ThomasHunter