43

Этот вопрос отвечает на вопрос, как получить доступ к файлам Windows из Ubuntu Bash, но как я могу сделать обратное?

В частности, мне нужно получить доступ к своему ключу SSH из Windows, который находится в /home/mark/.ssh/id_rsa в Bash.

9 ответов9

44

Местоположение было фактически перемещено в последней версии:

C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\

Смотрите эту проблему GitHub от Microsoft/WSL # 2578

9

Да, но не рекомендуется манипулировать этой папкой из проводника Windows. Если вы хотите копировать, перемещать, редактировать или удалять файлы из папки lxss, вам нужно сделать это внутри bash с помощью инструментов командной строки. Только файлы, которые находятся в /mnt /*, действительно доступны для управления из проводника Windows.

7

Нашел это, обыскивая весь мой диск C. Файлы здесь:

C:\Users\<username>\AppData\Local\lxss

например, мой ключ SSH находится здесь:

C:\Users\Mark\AppData\Local\lxss\home\mark\.ssh\id_rsa
4

Как было упомянуто выше, файлы [onoma] в каталогах WSL имеют атрибуты, которые исчезли бы, если бы кто-нибудь манипулировал им с помощью проводника или текстового редактора, работающего в системе Windows. Решением может быть запуск ssh-сервера в WSL (может потребоваться переустановка), прослушивание локального хоста, а затем монтирование файловой системы WSL в качестве диска с использованием, например, win-sshfs, или вы можете просто использовать SSH-клиент Bitvise для подключения через ssh и манипулировать файлами с помощью окна sftp. Тема частично обсуждалась здесь: как я могу использовать SSH в «Bash на Ubuntu в Windows 10»?

3

subst L: $env:LOCALAPPDATA\lxss (для powershell)

или subst L: %LocalAppData%\lxss (из cmd)

Это поместит вашу файловую систему Linux-root-root / на ваш диск L: .

Вы также можете сопоставить только свой домашний каталог или просто %LocalAppData%\lxss в окне проводника. Только не пытайтесь просматривать L:\mnt\c, иначе ваш мозг может взорваться.

2

Я наконец нашел способ открыть проводник (и vscode) с правильным контекстом папки изнутри WSL:https://github.com/andymule/wslwin

Например, после установки этого в linux (WSL) вы просто должны cd /home/mark/.ssh/ и ввести explorer , и он откроет проводник Windows в этом месте, каким бы он ни был.

2

Я на Windows 10 Creators Обновление. Я использую SFTP NetDrive для монтирования файловой системы WSL в Windows как сетевой диск.

Есть некоторые порты Windows sshFS, которые добиваются того же.

Вам нужно запустить демон ssh через "sudo service ssh start"

1

В powershell используйте

cd ${env:appdata}\..\local\packages\canonical*\localstate\rootfs

затем

ls

возвращает тот же список папок, что и

ls / 

в Bash на WSL.

0

PM для командной строки Windows здесь:

До настоящего времени доступ к файлам Linux из Windows не поддерживался и настоятельно рекомендовался против. Чтобы понять, почему, пожалуйста, прочитайте этот пост: https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/

Однако в сборке Windows 10 Insider на прошлой неделе мы (наконец-то!) Windows предоставляет файловые системы для ваших дистрибутивов Linux! Чтобы узнать больше, прочитайте этот пост: https://blogs.msdn.microsoft.com/commandline/2019/02/15/whats-new-for-wsl-in-windows-10-version-1903/

С нетерпением ждем, как вы справляетесь с этой функцией. Если вы обнаружите какие-либо проблемы, пожалуйста, сообщите о проблемах в репозитории WSL GitHub здесь: https://github.com/Microsoft/wsl.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .