O WSL OpenSSH ignora a chave privada que está armazenada no Windows (/ mnt / c), como alterar as permissões?

3

Eu não apenas peço (e respondo) como alterar permissões no Windows, porque o motivo que eu quero fazer após cerca de 20 anos de uso do Windows é algo especial. Agora sou um usuário do Winux, executando o Ubuntu (WSL) na minha máquina Windows10, e publico isso aqui também para a comunidade Winux.

O problema que encontro:

Eu tenho uma chave privada OpenSSH que uso para acessar meu VPS em ambientes Linux.

Eu armazeno esta chave em algum lugar dentro do Windows (portanto, em /mnt/c ). Eu guardo lá como backup.

No WSL eu vim para encapsular a porta 22 e a porta 80 do meu servidor, através deste comando:

ssh [email protected] -L 22:localhost:22 -L 2222:localhost:80 -i /mnt/c/location/private_key_file_name

Eu então peguei:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Permissions 0777 for '/mnt/c/location/private_key_file_name' are too open.

It is required that your private key files are NOT accessible by others.

This private key will be ignored.

bad permissions: ignore key: /mnt/c/location/private_key_file_name
Permission denied (publickey).

Eu nunca tive um problema semelhante ao usar o Putty, mas mesmo assim eu uso o Putty, eu ainda quero alterar as permissões por princípio, bem como usar a chave com o OpenSSH.

Parece que não consigo fazer o chmod 600 no arquivo de chave privada, no local relevante (ele muda, mas volta para o 777).

O Windows não oferece uma interface gráfica semelhante ao Linux para alterar as permissões que eu acreditava que precisava encontrar uma maneira de fazer isso no CMD. Pode-se perguntar "Como eu poderia mudar permissões para um arquivo no Windows, então seria equivalente a permissões do Linux".

Depois de ler sobre a alteração de permissões no Windows de uma maneira Linux, cheguei à conclusão de que o caminho mais simples seria fazer mv file ~ , chmod 600 ~/file e, em seguida, o arquivo mv /mnt/c/location , mas isso me falhou No momento em que mudei o arquivo, ele mudou de volta para 777.

Aqui está minha resposta:

    
por JohnDoea 29.12.2016 / 05:15

1 resposta

2

Como eu entendo isso com o meu humilde conhecimento sobre isso, o Windows sempre traduzirá as permissões do arquivo para aquelas comuns no Windows. Isso não é necessariamente problemático dado que o Windows tem um modelo de segurança diferente do Linux e se você usa uma senha strong do Windows para defender seus arquivos e é protegido pelo Windows defender (que inclui um firewall, IIBA, um mecanismo de prevenção de ataque de força bruta).

Então, basicamente, para resolver isso, basta copiar sua chave privada do backup no Windows, para o WSL, alterar as permissões existentes (chmod 600) e trabalhar com a cópia do WSL.

Mais informações sobre permissão de chaves privadas do Linux .

    
por 29.12.2016 / 05:15