Esta pergunta responde como acessar arquivos do Windows no Ubuntu Bash, mas como posso fazer o oposto?
Especificamente, preciso acessar minha chave SSH no Windows, localizada em /home/mark/.ssh/id_rsa
Bash.
Esta pergunta responde como acessar arquivos do Windows no Ubuntu Bash, mas como posso fazer o oposto?
Especificamente, preciso acessar minha chave SSH no Windows, localizada em /home/mark/.ssh/id_rsa
Bash.
Respostas:
PM para linha de comando do Windows aqui:
Atualizado em outubro de 2019 : Atualizando a resposta abaixo para refletir a capacidade recém-adicionada de acessar diretamente os arquivos Linux das distros por meio do servidor P9 recém-integrado no Win10 1903 (e posterior) .
IMPORTANTE : A digitação através do sistema de arquivos do Windows para acessar arquivos do Linux tem e continuará sem suporte e é fortemente recomendada contra! Para entender o porquê, leia este post
Então, como acessar arquivos do Linux usando ferramentas do Windows (por exemplo, bloco de notas, código VS / VS, etc.)? Anteriormente, você não podia, mas a partir do Windows 10 1903, (finalmente!), Expomos os sistemas de arquivos das suas distros ao Windows através de um servidor de arquivos P9. Também publicamos um vídeo detalhado discutindo como isso funciona ! Você também pode ler um resumo desse novo recurso nesta postagem do blog
Ansiosos para ouvir como você se dá com esse recurso. Se você encontrar algum problema, arquive os problemas no repositório do WSL GitHub aqui: https://github.com/Microsoft/wsl .
explorer.exe .
, abre a pasta System32. @RichardTurner Onde estão as etapas manuais?
O local foi realmente movido na versão mais recente para:
C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\
Veja este problema do GitHub da Microsoft / WSL # 2578
Como mencionado na edição acima e nos comentários abaixo, não mexa com esses arquivos do sistema operacional Windows.
Encontrei pesquisando meu disco C inteiro. Os arquivos estão aqui:
C:\Users\<username>\AppData\Local\lxss
por exemplo, minha chave SSH está aqui:
C:\Users\Mark\AppData\Local\lxss\home\mark\.ssh\id_rsa
Sim, mas não é recomendado manipular essa pasta no Windows Explorer. Se você deseja copiar, mover, editar ou apagar arquivos da pasta lxss, é necessário fazê-lo no bash com as ferramentas de linha de comando. Somente arquivos que estão em / mnt / * são realmente manipuláveis no Windows Explorer.
Em powershell
, use
cd ${env:appdata}\..\local\packages\canonical*\localstate\rootfs
então
ls
retorna a mesma lista de pastas que
ls /
dentro do bash na WSL.
Como mencionado acima, os arquivos [onoma] nos diretórios WSL têm atributos que desapareceriam se alguém o manipulasse usando o explorer ou o editor de texto executado no sistema Windows. A solução pode ser iniciar o ssh-server no WSL (pode ser necessário reinstalar) ouvindo no host local e montando o sistema de arquivos WSL como uma unidade usando, por exemplo, win-sshfs ou você pode simplesmente usar o cliente Bitvise SSH para conectar-se através do ssh e manipule arquivos pela janela sftp. O tópico foi parcialmente discutido aqui: Como posso fazer o SSH no "Bash no Ubuntu no Windows 10"?
subst L: $env:LOCALAPPDATA\lxss
(para PowerShell)
ou subst L: %LocalAppData%\lxss
(de cmd
)
Isso coloca a raiz do sistema de arquivos do subsistema Linux /
na unidade L:.
Você também pode mapear apenas o diretório inicial ou apenas bater %LocalAppData%\lxss
em uma janela do Explorer. Só não tente navegar por L: \ mnt \ c, pois seu cérebro pode explodir.
Finalmente, abri um caminho para abrir o explorer (e vscode) com o contexto de pasta correto real dentro da WSL: https://github.com/andymule/wslwin
Por exemplo, depois de instalar isso, no linux (WSL), você apenas cd /home/mark/.ssh/
digitaria explorer
e abriria o Windows Explorer nesse local, qualquer que fosse.
EDIT: este recurso está sendo oficialmente suportado no WSL agora, e você não deve mais usar meus scripts
Estou no Windows 10 Creators Update. Eu uso o SFTP NetDrive para montar o sistema de arquivos WSL no Windows como uma unidade de rede.
Existem algumas portas sshFS do Windows que conseguirão a mesma coisa.
Você precisará iniciar o daemon ssh via "sudo service ssh start"
\\wsl$\Ubuntu\home\user\whatever
No explorador ou no widget Executar (Cmd + R). Funciona como um compartilhamento de rede normal e é seguro manipular arquivos.
Você também pode mapeá-lo para uma unidade ou pasta, como qualquer outro compartilhamento de rede.
Nota: Este é um novo recurso implementado no Windows 10 build 18342