Це питання відповідає, як отримати доступ до файлів Windows з Ubuntu Bash, але як я можу зробити навпаки?
Зокрема, мені потрібно отримати доступ до мого ключа SSH з Windows, який розташований /home/mark/.ssh/id_rsa
під Bash.
Це питання відповідає, як отримати доступ до файлів Windows з Ubuntu Bash, але як я можу зробити навпаки?
Зокрема, мені потрібно отримати доступ до мого ключа SSH з Windows, який розташований /home/mark/.ssh/id_rsa
під Bash.
Відповіді:
ПМ для командного рядка Windows тут:
Оновлено жовтень 2019 : оновлення відповіді нижче, щоб відобразити щойно додану здатність безпосередньо отримувати доступ до файлів Linux у дистрибутиві через щойно інтегрований сервер P9 в Win10 1903 (і пізніших версіях) .
ВАЖЛИВО : Зворотний зв'язок через файлову систему 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 Explorer. Якщо ви хочете скопіювати, перемістити, відредагувати або видалити файли з папки lxss, потрібно зробити це всередині bash за допомогою інструментів командного рядка. Тільки файли, які ввімкнено / mnt / *, дійсно маніпулюються з Windows Explorer.
В powershell
, використовувати
cd ${env:appdata}\..\local\packages\canonical*\localstate\rootfs
тоді
ls
повертає той самий список папок, що і
ls /
в рамках баш на WSL.
Як вже було сказано вище, у файлах [onoma] у каталогах WSL є атрибути, яких би не було, якщо маніпулювати ним за допомогою провідника чи редактора тексту, запущеного в системі Windows. Рішенням може бути запуск ssh-сервера в WSL (може знадобитися перевстановлення) прослуховування на localhost, а потім встановлення файлової системи WSL як диска, використовуючи, наприклад, win-sshfs або ви можете просто використовувати клієнт Bitvise SSH для підключення через ssh та маніпулювати файлами за допомогою sftp window. Тема була частково обговорена тут: Як я можу SSH перейти до "Bash на Ubuntu в Windows 10"?
subst L: $env:LOCALAPPDATA\lxss
(для повноважень)
або subst L: %LocalAppData%\lxss
(від cmd
)
Це ставить вашу файлову систему root-підсистеми Linux /
на диску L:.
Ви також можете відобразити лише домашній каталог або просто ударити %LocalAppData%\lxss
у вікно провідника. Просто не намагайтеся переглядати L: \ mnt \ c, інакше ваш мозок може вибухнути.
Я нарешті знайшов спосіб відкрити провідник (і vscode) з фактично правильним контекстом папки зсередини WSL: https://github.com/andymule/wslwin
Наприклад, після встановлення цього в linux (WSL) ви просто cd /home/mark/.ssh/
введете і введете explorer
, і він відкриє провідник Windows у тому місці, де б він не був.
EDIT: ця функція офіційно підтримується в WSL, і ви більше не повинні використовувати мої сценарії
Я на Windows 10 Creators Update. Я використовую SFTP NetDrive для монтажу файлової системи WSL у Windows як мережевий диск.
Є деякі порти Window sshFS, які дозволять досягти того ж.
Вам потрібно буде запустити ssh daemon через "sudo service ssh start"