Não é possível fazer login no sistema debian remoto com chave RSA e ssh.exe do Cygwin

2

Eu preciso logar em um servidor Debian usando ssh.exe do Cygwin. Gerei uma chave RSA e anexei-a ao arquivo authorized_keys .

Debian está OK, porque eu pude usar a chave RSA usando PuTTY para entrar lá. No entanto, quando tento fazer o login com ssh.exe , ele diz que a senha está incorreta. Não consigo acessar a pasta ./ssh/ do Cygwin.

Atualização: como eu suspeitava, adicionar -vvvv mostra o seguinte:

debug1: could not open key file '/home/steve/.ssh/id_rsa': Permission denied

O arquivo está lá e posso ver C:\cygwin\home\steve\.ssh\id_rsa pelo meu gerenciador de arquivos.

Atualização 2:

ls -lA ~/
drwx------+ 1 steve None         0 фев 27 13:20 .ssh

$ ls -l ./.ssh/
ls: невозможно открыть каталог ./.ssh/: Permission denied

Como posso consertar isso?

    
por stiv 09.08.2013 / 07:27

1 resposta

0

Qual pasta .ssh você não pode acessar? (Você não será capaz de ver no Cygwin que está no Ubuntu, no entanto você deve poder vê-lo no Ubuntu, do Ubuntu , se é onde ele reside). Se você gerou a chave RSA com puttygen, ela não funcionará com o ssh.exe do Cygwin porque eles usam formatos diferentes para seu arquivo de chave (o putty usa um arquivo com extensão .ppk que é de um formato diferente).

Você pode carregar este arquivo ppk em puttygen e usar Conversions -> Export OpenSSH key para salvá-lo no formato correto que o ssh.exe pode usar. Se você quiser carregar esse arquivo de chave no Cygwin a partir da sua unidade de disco do Windows, você pode usar o diretório / cygdrive para obter acesso à sua unidade C: (ou outra unidade) onde a chave reside. Você pode então usar -i para apontar o ssh para ele. A outra alternativa é usar o ssh-keygen para gerar uma nova chave para o Cygwin e adicionar isso ao authorized_keys do Ubuntu.

Além disso, o Cygwin ssh é padronizado para o nome de usuário com o qual você efetuou login no Windows como nome de usuário do host remoto, a menos que você o especifique como parte dos argumentos de comando do ssh.

Se ainda não funcionar, eu verificaria o que o ssh estava fazendo adicionando -vvv aos seus argumentos de comando.

ssh -vvvv -i /cygdrive/c/path/to/my/id_dsa -l username host.address.here

(obviamente substituindo os argumentos corretos por -i -l e host.address.here ).

    
por 09.08.2013 / 16:36