この質問 は、Ubuntu BashからWindowsファイルにアクセスする方法を回答しますが、どうすれば逆もできますか?
具体的には、Bashの下の/home/mark/.ssh/id_rsa
にあるWindowsからSSHキーにアクセスする必要があります。
WindowsコマンドラインのPMはここにあります:
2019年5月に更新:Win10 1903以降に新しく統合されたP9サーバーを介してdistrosのLinuxファイルに直接アクセスする新しく追加された機能を反映するために以下の応答を更新しました。
Windowsファイルシステムを介してLinuxファイルにアクセスすることはサポートされていないため、強く推奨されています。その理由を理解するために、 この記事を読んでください
それでは、Windowsのツール(メモ帳、VS/VScodeなど)を使ってLinuxファイルにアクセスするにはどうすればよいのでしょうか。以前はできませんでしたが、Windows 10 1903以降、P9ファイルサーバーを介してディストリビューションのファイルシステムをWindowsに公開しています。 これがどのように機能するかを議論する詳細なビデオも公開しました ! このブログ記事 でこの新機能の概要を読むこともできます。
この機能がどのように利用されるのかをお楽しみに。問題がある場合は、WSL GitHubレポジトリに問題を報告してください: https://github.com/Microsoft/wsl 。
場所は最新のリリースでは実際に次の場所に移動されました。
C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\
Microsoft/WSL#2578からこのGitHubの問題を参照してください。
上記の問題と下記のコメントで述べたように、ウィンドウズOSからこれらのファイルを台無しにしないでください。
はい、しかしWindowsエクスプローラからそのフォルダを操作することはお勧めできません。 lxssフォルダからファイルをコピー、移動、編集、または消去したい場合は、コマンドラインツールを使用してbash内でファイルを移動する必要があります。/mnt/*にあるファイルだけが、Windowsエクスプローラから本当に操作できます。
私のCドライブ全体を検索して見つけました。ファイルはここにあります:
C:\Users\<username>\AppData\Local\lxss
たとえば、私のSSHキーはこちらです。
C:\Users\Mark\AppData\Local\lxss\home\mark\.ssh\id_rsa
WSLディレクトリ内の[onoma]ファイルが上で述べたように、Windowsシステムで実行されているエクスプローラまたはテキストエディタを使用してそれを操作すると消えてしまう属性があります。解決策は、WSLでssh-serverを起動し(再インストールが必要かもしれません)、localhostをリッスンしてから、例えばwin-sshfsを使用してWSLファイルシステムをドライブとしてマウントすることです。そしてsftpウィンドウでファイルを操作します。このトピックは、ここで部分的に説明されています。 「Windows 10上のUbuntu上のBash」にSSH接続するにはどうすればよいですか?
subst L: $env:LOCALAPPDATA\lxss
(PowerShell用)
またはsubst L: %LocalAppData%\lxss
(cmd
から)
これであなたのLinuxサブシステムfilesystem-root /
があなたのL:ドライブに置かれます。
ホームディレクトリだけをマッピングすることも、エクスプローラウィンドウで%LocalAppData%\lxss
を打つこともできます。 L:\ mnt\cをブラウズしないでください。そうしないとあなたの脳が爆発するかもしれません。
私はついにWSLの中から実際の正しいフォルダーコンテキストでExplorer(そしてvscode)を開く方法を作りました: https://github.com/andymule/wslwin
たとえば、これをインストールした後、linux(WSL)では、cd /home/mark/.ssh/
と入力してExplorer
と入力するだけで、その場所でWindows Explorerが開きます。
編集:この機能は現在WSLで正式にサポートされています、そしてあなたはもう私のスクリプトを使うべきではありません
powershell
では、
cd ${env:appdata}\..\local\packages\canonical*\localstate\rootfs
それから
ls
と同じフォルダのリストを返す
ls /
wSLのbash内.
Windows 10 Creators Updateにイム。私はSFTP NetDriveを使ってWSLファイルシステムをネットワークドライブとしてWindowsにマウントします。
同じことを実現するWindow sshFSポートがいくつかあります。
「Sudo service ssh start」でsshデーモンを起動する必要があります。