Pergunta

Sinto que estou perdendo algum conceito fundamental sobre como o diretório .ssh funciona no Windows.Não tive problemas ao trabalhar no OSX/Linux como estou tendo agora.Meu objetivo final é simplesmente mover minha chave ssh existente para o diretório padrão ~/.ssh e atualizar a configuração, se eu quiser (você sabe, tarefas normais relacionadas à chave ssh).

No entanto, sempre que tento mover minha chave SSH existente para o diretório ~/.ssh, ou abri-la, ou até mesmo criar um arquivo de configuração, recebo o seguinte erro (em gitbash, puttygen, etc...) :

Puttygen (salvando a chave no disco):

Overwrite existing file C:\Users\me\.ssh?

ou no gitbash (tentando fazer qualquer coisa, incluindo apenas criar o arquivo de configuração):

touch: creating `/c/Users/me/.ssh/config': No such file or directory

cd ~/.ssh

sh.exe": cd: /c/Users/me/.ssh: Not a directory

O que estou perdendo/não entendendo?

Atenciosamente, U353

Foi útil?

Solução 5

Isso não é compatível porque o Windows não reconhece arquivos de ponto como diretórios.

Outras dicas

Criei e uso regularmente um diretório ".ssh" no Windows 7;conforme mencionado nos comentários acima, o Windows Explorer não os suporta ou, mais especificamente, a verificação de erros no Windows Explorer não permite fornecer um nome de arquivo que comece com um ponto final.Essa mesma restrição não existe no prompt de comando ou no PowerShell.

Além disso, como mencionado acima, parece que você tem um arquivo chamado ".ssh" em seu diretório inicial, que deve ser removido antes de criar uma pasta chamada ".ssh".

Assim que essa pasta existir, você poderá abri-la e alterar/criar arquivos nela usando o Windows Explorer;simplesmente não permite nomear uma pasta/arquivo ".ssh" diretamente.

O Gitbash deve permitir diretamente que você execute "rm .ssh" e "mkdir .ssh", momento em que todo o resto deve funcionar.

É bem possível adicionar um . no início do nome de um diretório usando o File Explorer, isso pode ser feito facilmente adicionando um . no final do nome do diretório também.Por exemplo:

Para criar um diretório chamado .shh, basta adicionar o nome como .ssh. e será criado sem nenhum erro.

E como @Bryson mencionou, isso também pode ser feito a partir do CLI, sem anexar um . no final.

Chegando a isso em 2018, visto que no Windows 10 você tem o recurso opcional Cliente OpenSSH instalado parece que no Windows um .ssh pasta é criada para você em C:\Users\<your_username>\.ssh

Este é um recurso que permite usar o PowerShell para SSH em hosts remotos e parece ser bastante semelhante em uso ao equivalente Linux/Unix.Ele já estava instalado para mim quando configurei meu computador, mas você pode ler o seguinte para saber como verificar se está instalado ou instalá-lo:

Você pode verificar se ele está instalado acessando Configurações -> Gerenciar recursos opcionais e, em seguida, verificando se vê OpenSSH na lista.Se for, então sua pasta .ssh provavelmente está em seu diretório inicial C:\Users\<your_username>\.ssh.Se precisar instalá-lo, clique em "Adicionar um recurso", localize o OpenSSH Client, clique nele e clique em instalar para instalá-lo.

Esta resposta para Ambiente Windows:

No início, o Windows não tinha .ssh pasta.

Quando seu comando de execução para criar uma chave ssh como esta:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com" (deve executar seu terminal como administrador).

Seu is_rsa e id_rsa.pub os arquivos serão colocados em /c/Users/your_username/

Então, você precisa criar uma pasta /c/Users/your_username/.ssh você mesmo e copie os arquivos ssh para lá.Você também precisa criar um arquivo /c/Users/seu_nome de usuário/.ssh/config e edite-o pela primeira vez.

O próximo ssh será colocado sob o .ssh pasta automaticamente.

Observação: ~/ é o mesmo que /c/Users/your_username/ no Windows

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top