Eu tenho o OpenSSH 7.6 instalado no Windows 7 para fins de teste. O cliente e servidor SSH funcionam bem até que eu tentei acessar uma das minhas caixas do AWS EC2 a partir desta janela.
Parece que preciso alterar a permissão no arquivo de chave privada. Isso pode ser feito facilmente no unix / linux com o chmod
comando
E as janelas?
private-key.ppm é copiado diretamente da AWS e acho que também a permissão.
C:\>ssh -V
OpenSSH_7.6p1, LibreSSL 2.5.3
C:\>ver
Microsoft Windows [Version 6.1.7601]
C:\>
C:\>ssh [email protected] -i private-key.ppk
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for 'private-key.ppk' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "private-key.ppk": bad permissions
[email protected]: Permission denied (publickey).
C:\>
C:\>
C:\>ssh [email protected] -i private-key.ppm
Warning: Identity file private-key.ppm not accessible: No such file or directory.
[email protected]: Permission denied (publickey).
C:\>
windows-7
ssh
permissions
Sabrina
fonte
fonte
Respostas:
Você localiza o arquivo no Windows Explorer, clique com o botão direito do mouse e selecione "Propriedades". Navegue até a guia "Segurança" e clique em "Avançado".
Mude o proprietário para você, desative a herança e exclua todas as permissões. Em seguida, conceda a si mesmo "Controle total" e salve as permissões. Agora, o SSH não vai mais reclamar da permissão de arquivo aberta.
Ele deve ficar assim:
fonte
10.0.17134.191
caixa do Windows 10 ( ) com Cygwin verCYGWIN_NT-10.0-WOW 2.3.1(0.291/5/3) 2015-11-14 12:42
e ssh verOpenSSH_for_Windows_7.6p1, LibreSSL 2.6.4
e 2) Obrigado! @iBug!As chaves devem estar acessíveis apenas ao usuário a que se destinam e nenhuma outra conta, serviço ou grupo.
CLI:
fonte
network service
modo Cygwin acha que a permissão é 0770 em vez de 0700.network service
pode possuir um arquivo e é um grupoAlém da resposta fornecida pelo ibug. Desde que eu estava usando o sistema ubuntu dentro do windows para executar o comando ssh. Ainda não estava funcionando. Então eu fiz
e então funcionou
fonte
sudo
não deve ser utilizado para abrir uma sessão SSH, pois é um risco à segurança. A única vez em que (pelo menos eu sei) a conta do root deve ser utilizada para abrir uma sessão SSH é em sistemas de usuário único (ou seja, normalmente encontrados nos sistemas operacionais do roteador [OpenWrt, DD-WRT, etc.] e outros sistemas embarcados ) . As chaves SSH devem estar acessíveis apenas ao usuário para o qual eles pertencem e nenhuma outra conta, serviço ou grupo.Eu tive o mesmo problema e parece estar relacionado à versão do SSH que você está executando.
Se eu digitar
Eu recebo...
Quando corro
ssh -V
nos dois locais, recebo...respectivamente
Portanto, quando corro
ssh
do diretório git / bin, ele funciona bem e não reclama das permissões, mas executando a mesma linha de comando, usando a instalação anterior do SSH, ele volta com isso.ps. as permissões no arquivo são apenas acesso total para mim e nada mais.
fonte
DISM
ou usando a opção Redefinir (que foi aprimorada para utilizar o diretório WinSxS versus reverter para o originalinstall.esd
) .Você precisa do jsut 2 coisas:
1) Desativar herança
2) Converter permissões herdadas em permissões explícitas
3) grupo Remover usuários
4) Você terminará sem que os usuários possam acessar arquivos particulares, isso deve ser suficiente para adicionar id_rsa.
fonte
Eu tive um problema semelhante, mas estava no trabalho e não tenho a capacidade de alterar as permissões de arquivo no meu computador de trabalho. O que você precisa fazer é instalar o WSL e copiar a sua chave para o diretório ssh oculto no WSL:
cp <path to your key> ~/.ssh/<name of your key>
Agora você deve poder modificar as permissões normalmente.
sudo chmod 600 ~/.ssh/<your key's name>
Então ssh usando WSL:
ssh -i ~/.ssh/<name of your key> <username>@<ip address>
fonte
use o comando abaixo na sua chave que funciona no Windows
fonte
Você pode usar icacls no Windows em vez do chmod para ajustar a permissão do arquivo. Para dar ao usuário atual permissão de leitura e remover todo o resto,
fonte
Esta é apenas uma versão com script da resposta da CLI do @ JW0914, portanto, vote-o primeiro e acima de tudo. Além disso, é o meu primeiro script do PowerShell, portanto, sugestões são bem-vindas.
fonte
Use
Mingw-w64
.Informações: http://mingw-w64.org/doku.php
Faça o download com o Git for Windows ou diretamente.
Disponível aqui: https://github.com/mirror/mingw-w64
Ele também possui outros comandos úteis do Linux, como
tar
egzip
.fonte
Eu sou um usuário do Windows, usando o bash do Windows e segui todas as etapas para definir permissões usando a GUI do Windows, e ainda não funciona e reclama:
O que eu adicionei
sudo
na frente do comando ssh e simplesmente funciona. Espero que isso seja útil para os outros.fonte
Responder por iBug funciona bem! Você pode seguir isso e se livrar desse problema.
Mas há algumas coisas que precisam ser esclarecidas quando eu enfrentei problemas durante a configuração de permissões e demorei alguns minutos para descobrir o problema!
Após a resposta do iBug, você removerá todas as permissões, mas como definir a permissão Controle Total para si mesmo? foi aí que fiquei preso no começo porque não sabia como fazer isso.
Após desativar a herança, você poderá excluir todos os usuários ou grupos permitidos.
Feito isso,
Clique em
Add
seguida, clique emSet a Principal
seguida, introduzaSystem
eAdministrators
eyour email addredd
no campo, no fundo, em seguida, clique emcheck names
.Carregará o nome se o usuário existir. Em seguida, clique em
OK
> TipoAllow
> Permissões básicasFull Control
>Okay
Isso configurará a permissão Controle total para SYSTEM, Administrators e Your User.
Depois disso, tente ssh usando essa chave. Deve ser resolvido agora.
Eu tive o mesmo problema e resolvi isso usando esse método. Se houver algum usuário ou grupo com esse nome, ele será carregado.
-Screenshots-
Entradas de permissão Selecione um Principal / Selecionar Usuário ou Grupos
fonte