Como se conectar a um servidor remoto com o meu par de chaves SSH, através do novo bash do Windows 10?

1

Estou usando o novo Linux Bash Shell que foi recentemente disponibilizado na atualização de aniversário do Windows 10.

Esse bash vem com um ponto de montagem do Linux (/ mnt / c / Users / [nome de usuário]) no Windows, que é usado como o usuário do Linux quando você inicia o bash do Linux, se estiver correto.

Mas, embora eu tenha colocado meu par de chaves SSH na pasta existente de usuário .ssh (/mnt/c/Users/[username]/.ssh), ele não é reconhecido ao se conectar a um servidor remoto via SSH (nome de usuário ssh @ distante-server.com). Ele sempre procura a senha do nome de usuário em vez de autenticar com chave pública, o que é o caso de meus outros clientes.

Além disso, a chave pública já está no arquivo authorized_keys do servidor distante.

Estou sentindo falta de algo?

    
por bolino 12.09.2016 / 19:24

2 respostas

2

Seu perfil bash pode ser acessado pelo Windows 10 por caminho:

%USERPROFILE%\AppData\Local\lxss\home\[bash-username]

Você deve colocar seu par de chaves SSH em

%USERPROFILE%\AppData\Local\lxss\home\[bash-username]\.ssh

E não se esqueça das permissões no id_rsa. deve ser definido para 600, executando (no bash)

cd ~/.ssh ; chmod 600 id_rsa

    
por 13.09.2016 / 16:56
2

Seu diretório inicial no bash não é o mesmo que o ponto de montagem da sua pasta de usuário do Windows ( /mnt/c/Users/[username] ). Será o mesmo formato que o Ubuntu seria: /home/username .

Você pode encontrar o seu, executando echo $HOME . Por exemplo, o meu é /home/john

Posso confirmar a adição de uma pasta .ssh e copiar sua chave pública (normalmente id_rsa.pub ) para authorized_keys usando o comando cat id_rsa.pub > authorized_keys , permite que eu me conecte com êxito ao meu servidor SSH, que é somente autenticação de chave.

As permissões em authorized_keys devem ser definidas como 600 (ler e gravar somente para o proprietário), executando cd ~/.ssh e chmod 600 authorized_keys

    
por 12.09.2016 / 19:40