Этот вопрос отвечает на вопрос, как получить доступ к файлам Windows из Ubuntu Bash, но как я могу сделать обратное?
В частности, мне нужно получить доступ к своему ключу SSH из Windows, который находится /home/mark/.ssh/id_rsa
под Bash.
Этот вопрос отвечает на вопрос, как получить доступ к файлам Windows из Ubuntu Bash, но как я могу сделать обратное?
В частности, мне нужно получить доступ к своему ключу SSH из Windows, который находится /home/mark/.ssh/id_rsa
под Bash.
Ответы:
PM для командной строки Windows здесь:
Обновлен октябрь 2019 года . Обновлен ответ ниже, чтобы отразить добавленную возможность прямого доступа к файлам Linux дистрибутивов через недавно интегрированный сервер P9 в Win10 1903 (и позже) .
ВАЖНО : Spelkking через файловую систему Windows для доступа к файлам Linux имеет и будет оставаться неподдерживаемым и настоятельно рекомендуется против! Чтобы понять почему, пожалуйста, прочитайте этот пост
Так как же получить доступ к файлам Linux с помощью инструментов Windows (например, блокнот, VS / VScode и т. Д.)? Раньше вы не могли, но начиная с Windows 10 1903, мы (наконец-то!) Открываем файловые системы вашего дистрибутива Windows через файловый сервер P9. Мы также опубликовали подробное видео о том, как это работает ! Вы также можете прочитать сводку этой новой функции в этом блоге
С нетерпением ждем, как вы справляетесь с этой функцией. Если вы обнаружите какие-либо проблемы, пожалуйста, сообщите о них в репозитории WSL GitHub здесь: https://github.com/Microsoft/wsl .
explorer.exe .
он открывает папку System32. @RichardTurner Где ручные шаги?
Местоположение было фактически перемещено в последнем выпуске:
C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\
Смотрите эту проблему GitHub от Microsoft / WSL # 2578
Как упомянуто в проблеме выше и комментариях ниже, не связывайтесь с этими файлами из Windows OS.
Нашел это, обыскивая весь мой диск C. Файлы здесь:
C:\Users\<username>\AppData\Local\lxss
например, мой ключ SSH находится здесь:
C:\Users\Mark\AppData\Local\lxss\home\mark\.ssh\id_rsa
Да, но не рекомендуется манипулировать этой папкой из проводника Windows. Если вы хотите копировать, перемещать, редактировать или удалять файлы из папки lxss, вам нужно сделать это в bash с помощью инструментов командной строки. Только файлы, которые находятся в / mnt / *, действительно доступны для управления из проводника Windows.
В powershell
использовании
cd ${env:appdata}\..\local\packages\canonical*\localstate\rootfs
тогда
ls
возвращает тот же список папок, что и
ls /
в Bash на WSL.
Как было упомянуто выше, файлы [onoma] в каталогах WSL имеют атрибуты, которые исчезли бы, если бы кто-нибудь манипулировал им с помощью проводника или текстового редактора, работающего в системе Windows. Решением может быть запуск ssh-сервера в WSL (может потребоваться переустановка), прослушивание на локальном хосте, а затем монтирование файловой системы WSL в качестве диска с использованием, например, win-sshfs, или вы можете просто использовать SSH-клиент Bitvise для подключения через ssh и манипулировать файлами с помощью окна sftp. Тема частично обсуждалась здесь: как я могу использовать SSH в «Bash на Ubuntu в Windows 10»?
subst L: $env:LOCALAPPDATA\lxss
(для powershell)
или subst L: %LocalAppData%\lxss
(с cmd
)
Это поместит корневую файловую систему вашей Linux-подсистемы /
на ваш диск L : .
Вы также можете сопоставить только свой домашний каталог или просто открыть %LocalAppData%\lxss
окно обозревателя. Только не пытайтесь просматривать L: \ mnt \ c, иначе ваш мозг может взорваться.
Я наконец нашел способ открыть проводник (и vscode) с правильным контекстом папки изнутри WSL: https://github.com/andymule/wslwin
Например, после установки этого, в Linux (WSL) вы бы просто cd /home/mark/.ssh/
и тип explorer
, и открыть бы Windows Explorer , в том месте, что это такое.
РЕДАКТИРОВАТЬ: эта функция официально поддерживается в WSL сейчас, и вы больше не должны использовать мои сценарии
Я на Windows 10 Creators Обновление. Я использую SFTP NetDrive для монтирования файловой системы WSL в Windows как сетевой диск.
Есть некоторые порты Windows sshFS, которые добиваются того же.
Вам нужно запустить демон ssh через "sudo service ssh start"
\\wsl$\Ubuntu\home\user\whatever
В проводнике или виджете Выполнить (Cmd + R). Работает как обычный сетевой ресурс, и манипулировать файлами безопасно.
Вы также можете сопоставить его с диском или папкой, как и любой другой сетевой ресурс.
Примечание. Это новая функция, реализованная в сборке Windows 10 18342.