Diese Frage beantwortet, wie man von Ubuntu Bash auf Windows-Dateien zugreift, aber wie kann ich das Gegenteil tun?
Insbesondere muss ich von Windows aus auf meinen SSH-Schlüssel zugreifen, der sich /home/mark/.ssh/id_rsa
unter Bash befindet.
Diese Frage beantwortet, wie man von Ubuntu Bash auf Windows-Dateien zugreift, aber wie kann ich das Gegenteil tun?
Insbesondere muss ich von Windows aus auf meinen SSH-Schlüssel zugreifen, der sich /home/mark/.ssh/id_rsa
unter Bash befindet.
Antworten:
PM für Windows Command-Line hier:
Aktualisiert im Oktober 2019 : Die unten stehende Antwort wird aktualisiert , um die neu hinzugefügte Möglichkeit widerzuspiegeln, über den neu integrierten P9-Server in Win10 1903 (und höher) direkt auf die Linux-Dateien von distros zuzugreifen .
WICHTIG : Das Durchsuchen des Windows-Dateisystems, um auf Linux-Dateien zuzugreifen, wurde und wird nicht unterstützt, und es wird DRINGEND davon abgeraten! Um zu verstehen, warum, lesen Sie bitte diesen Beitrag
Wie greift man also mit Windows-Tools (z. B. Editor, VS / VScode usw.) auf Linux-Dateien zu? Bisher war dies nicht möglich, aber ab Windows 10 1903 stellen wir (endlich!) Die Dateisysteme Ihrer Distribution über einen P9-Dateiserver für Windows bereit. Wir haben auch ein ausführliches Video veröffentlicht, in dem erläutert wird, wie dies funktioniert ! Sie können auch eine Zusammenfassung dieser neuen Funktion in diesem Blog-Beitrag lesen
Freuen Sie sich darauf, zu erfahren, wie Sie mit dieser Funktion vorankommen. Wenn Sie Probleme feststellen, können Sie Probleme mit dem WSL GitHub-Repository hier abspeichern: https://github.com/Microsoft/wsl .
explorer.exe .
es starte, öffnet sich der System32-Ordner. @RichardTurner Wo sind die manuellen Schritte?
Der Speicherort wurde in der neuesten Version tatsächlich verschoben in:
C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\
Siehe diese GitHub-Ausgabe von Microsoft / WSL # 2578
Wie oben in der Ausgabe und in den Kommentaren unten erwähnt, sollten Sie sich nicht mit diesen Dateien aus dem Windows-Betriebssystem herumschlagen.
Ich habe es gefunden, indem ich mein gesamtes C-Laufwerk durchsucht habe. Dateien sind hier:
C:\Users\<username>\AppData\Local\lxss
zB ist mein SSH-Schlüssel hier:
C:\Users\Mark\AppData\Local\lxss\home\mark\.ssh\id_rsa
Ja, es wird jedoch nicht empfohlen, diesen Ordner über den Windows-Explorer zu bearbeiten. Wenn Sie Dateien aus dem lxss-Ordner kopieren, verschieben, bearbeiten oder löschen möchten, müssen Sie dies in bash mit Befehlszeilentools tun. Nur Dateien, die sich in / mnt / * befinden, können im Windows-Explorer wirklich bearbeitet werden.
In powershell
, Verwendung
cd ${env:appdata}\..\local\packages\canonical*\localstate\rootfs
dann
ls
gibt die gleiche Liste von Ordnern zurück wie
ls /
innerhalb von Bash auf WSL.
Wie bereits erwähnt, haben [onoma] -Dateien in WSL-Verzeichnissen Attribute, die verloren gehen, wenn man sie mit dem Explorer oder einem Texteditor bearbeitet, der unter Windows ausgeführt wird. Die Lösung könnte darin bestehen, ssh-server in WSL zu starten (möglicherweise ist eine Neuinstallation erforderlich), auf localhost zu lauschen und dann das WSL-Dateisystem als Laufwerk mit z. B. win-sshfs anzuhängen, oder Sie können einfach den Bitvise-SSH-Client verwenden, um eine Verbindung über ssh herzustellen und manipulieren Dateien von SFTP-Fenster. Das Thema wurde hier teilweise besprochen: Wie kann ich SSH in "Bash unter Ubuntu unter Windows 10" einbinden?
subst L: $env:LOCALAPPDATA\lxss
(für Powershell)
oder subst L: %LocalAppData%\lxss
(von cmd
)
Dadurch wird Ihr Linux-Subsystem-Dateisystem-Root /
auf Ihrem L: -Laufwerk gespeichert.
Sie können auch nur Ihr Home-Verzeichnis zuordnen oder einfach %LocalAppData%\lxss
in einem Explorer-Fenster blättern . Versuchen Sie einfach nicht, L: \ mnt \ c zu durchsuchen, da Ihr Gehirn sonst explodieren könnte.
Ich habe es endlich geschafft, den Explorer (und vscode) mit dem richtigen Ordnerkontext aus der WSL heraus zu öffnen: https://github.com/andymule/wslwin
Zum Beispiel, nachdem Sie diese installieren, in Linux (WSL) würden Sie gerade cd /home/mark/.ssh/
und Art explorer
, und es würde öffnen Fenster an dieser Stelle explorer, was auch immer es ist.
BEARBEITEN: Diese Funktion wird in der WSL jetzt offiziell unterstützt und Sie sollten meine Skripte nicht mehr verwenden
Ich bin auf Windows 10 Creators Update. Ich verwende SFTP NetDrive, um das WSL-Dateisystem als Netzwerklaufwerk in Windows einzubinden.
Es gibt einige Windows sshFS-Ports, die dasselbe erreichen.
Sie müssen den ssh-Daemon über "sudo service ssh start" starten
\\wsl$\Ubuntu\home\user\whatever
Im Explorer oder im Run-Widget (Cmd + R). Funktioniert wie eine normale Netzwerkfreigabe und es ist sicher, Dateien zu manipulieren.
Sie können es wie jede andere Netzwerkfreigabe auch einem Laufwerk oder Ordner zuordnen.
Hinweis: Dies ist eine neue Funktion, die in Windows 10 Build 18342 implementiert ist