Этот вопрос отвечает на вопрос, как получить доступ к файлам Windows из Ubuntu Bash, но как я могу сделать обратное?
В частности, мне нужно получить доступ к своему ключу SSH из Windows, который находится в /home/mark/.ssh/id_rsa
в Bash.
Этот вопрос отвечает на вопрос, как получить доступ к файлам Windows из Ubuntu Bash, но как я могу сделать обратное?
В частности, мне нужно получить доступ к своему ключу SSH из Windows, который находится в /home/mark/.ssh/id_rsa
в Bash.
Местоположение было фактически перемещено в последней версии:
C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\
Смотрите эту проблему GitHub от Microsoft/WSL # 2578
Да, но не рекомендуется манипулировать этой папкой из проводника Windows. Если вы хотите копировать, перемещать, редактировать или удалять файлы из папки lxss, вам нужно сделать это внутри bash с помощью инструментов командной строки. Только файлы, которые находятся в /mnt /*, действительно доступны для управления из проводника Windows.
Нашел это, обыскивая весь мой диск C. Файлы здесь:
C:\Users\<username>\AppData\Local\lxss
например, мой ключ SSH находится здесь:
C:\Users\Mark\AppData\Local\lxss\home\mark\.ssh\id_rsa
Как было упомянуто выше, файлы [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-root-root /
на ваш диск L: .
Вы также можете сопоставить только свой домашний каталог или просто %LocalAppData%\lxss
в окне проводника. Только не пытайтесь просматривать L:\mnt\c, иначе ваш мозг может взорваться.
Я наконец нашел способ открыть проводник (и vscode) с правильным контекстом папки изнутри WSL:https://github.com/andymule/wslwin
Например, после установки этого в linux (WSL) вы просто должны cd /home/mark/.ssh/
и ввести explorer
, и он откроет проводник Windows в этом месте, каким бы он ни был.
Я на Windows 10 Creators Обновление. Я использую SFTP NetDrive для монтирования файловой системы WSL в Windows как сетевой диск.
Есть некоторые порты Windows sshFS, которые добиваются того же.
Вам нужно запустить демон ssh через "sudo service ssh start"
В powershell
используйте
cd ${env:appdata}\..\local\packages\canonical*\localstate\rootfs
затем
ls
возвращает тот же список папок, что и
ls /
в Bash на WSL.
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.