Esta pregunta responde cómo acceder a los archivos de Windows desde Ubuntu Bash, pero ¿cómo puedo hacer lo contrario?
Específicamente, necesito acceder a mi clave SSH desde Windows, que se encuentra /home/mark/.ssh/id_rsa
debajo de Bash.
Esta pregunta responde cómo acceder a los archivos de Windows desde Ubuntu Bash, pero ¿cómo puedo hacer lo contrario?
Específicamente, necesito acceder a mi clave SSH desde Windows, que se encuentra /home/mark/.ssh/id_rsa
debajo de Bash.
Respuestas:
PM para la línea de comandos de Windows aquí:
Actualizado en octubre de 2019 : Actualizando la respuesta a continuación para reflejar la capacidad recientemente agregada de acceder directamente a los archivos Linux de las distribuciones a través del servidor P9 recientemente integrado en Win10 1903 (y posterior) .
IMPORTANTE : Spelunking a través del sistema de archivos de Windows para acceder a los archivos de Linux ha sido y seguirá siendo incompatible y NO se recomienda. Para entender por qué, lee esta publicación
Entonces, ¿cómo se accede a los archivos de Linux utilizando las herramientas de Windows (por ejemplo, el bloc de notas, VS / VScode, etc.)? Anteriormente, no podía, pero a partir de Windows 10 1903 (¡finalmente!) Exponemos los sistemas de archivos de sus distribuciones a Windows a través de un servidor de archivos P9. ¡También hemos publicado un video en profundidad sobre cómo funciona esto ! También puede leer un resumen de esta nueva característica en esta publicación de blog
Esperamos escuchar cómo te va con esta función. Si encuentra algún problema, presente los problemas en el repositorio de WSL GitHub aquí: https://github.com/Microsoft/wsl .
explorer.exe .
abre la carpeta System32. @RichardTurner ¿Dónde están los pasos manuales?
La ubicación se movió en la última versión a:
C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\
Vea este problema de GitHub de Microsoft / WSL # 2578
Como se menciona en el número anterior y los comentarios a continuación, no se meta con estos archivos desde el sistema operativo Windows.
Lo encontré buscando en toda mi unidad C. Los archivos están aquí:
C:\Users\<username>\AppData\Local\lxss
Por ejemplo, mi clave SSH está aquí:
C:\Users\Mark\AppData\Local\lxss\home\mark\.ssh\id_rsa
Sí, pero no se recomienda manipular esa carpeta desde el explorador de Windows. Si desea copiar, mover, editar o borrar archivos de la carpeta lxss, debe hacerlo dentro de bash con las herramientas de línea de comandos. Solo los archivos que están en / mnt / * son realmente manipulables desde el explorador de Windows.
En powershell
uso
cd ${env:appdata}\..\local\packages\canonical*\localstate\rootfs
entonces
ls
devuelve la misma lista de carpetas que
ls /
dentro de bash en WSL.
Como se ha mencionado anteriormente por [onoma], los archivos en los directorios WSL tienen atributos que desaparecerían si uno los manipula utilizando el explorador o el editor de texto ejecutado en el sistema Windows. La solución podría ser iniciar ssh-server en WSL (puede que sea necesario reinstalar) escuchando en localhost y luego montando el sistema de archivos WSL como una unidad usando, por ejemplo, win-sshfs o simplemente puede usar el cliente Bitvise SSH para conectarse a través de ssh y manipular archivos por ventana sftp. El tema se ha discutido parcialmente aquí: ¿Cómo puedo SSH en "Bash en Ubuntu en Windows 10"?
subst L: $env:LOCALAPPDATA\lxss
(para PowerShell)
o subst L: %LocalAppData%\lxss
(de cmd
)
Esto coloca su raíz del sistema de archivos del subsistema Linux /
en su unidad L:.
También puede asignar solo su directorio de inicio, o simplemente golpear %LocalAppData%\lxss
en una ventana del explorador. Simplemente no intentes navegar L: \ mnt \ c o tu cerebro podría explotar.
Finalmente hice una forma de abrir el explorador (y vscode) con el contexto de carpeta correcto real desde dentro de WSL: https://github.com/andymule/wslwin
Por ejemplo, después de instalar esto, en Linux (WSL) simplemente cd /home/mark/.ssh/
escribiría explorer
y abriría el explorador de Windows en esa ubicación, sea lo que sea.
EDITAR: esta característica está siendo oficialmente compatible con WSL ahora, y ya no deberías usar mis scripts
Estoy en Windows 10 Creators Update. Utilizo SFTP NetDrive para montar el sistema de archivos WSL en Windows como una unidad de red.
Hay algunos puertos Windows sshFS que lograrán lo mismo.
Tendrá que iniciar el demonio ssh a través de "sudo service ssh start"
\\wsl$\Ubuntu\home\user\whatever
En el explorador o el widget Ejecutar (Cmd + R). Funciona como un recurso compartido de red normal y es seguro manipular archivos.
También puede asignarlo a una unidad o carpeta, como cualquier otro recurso compartido de red.
Nota: Esta es una nueva característica implementada en Windows 10 build 18342