copie as chaves privadas do ssh para outro computador

35

Eu preciso usar outro computador para acessar meu servidor ssh. Isso ocorre porque uma vpn recentemente implementada na minha universidade não funciona no meu computador atual e eu perdi o acesso ao servidor.

Eu ssh via chaves ssh criptografadas. Posso copiar essas chaves para o novo computador (no qual a vpn funciona). Eu tentei copiar os arquivos id_rsa e id_rsa.pub na pasta ~/.ssh , mas ela não reconhece as chaves e não há nenhum prompt para inserir uma senha para descriptografar as chaves.

EDIT: Não consigo acessar o servidor para gerar um novo par de chaves para o novo computador e estou fora do país, portanto, não posso acessá-lo fisicamente.

Obrigado.

    
O
por benj 10.05.2012 / 15:11

3 respostas

38

Verifique as permissões e a propriedade do seu arquivo de chave privada. Do manual ,

  

Esses arquivos contêm dados confidenciais e devem ser legíveis pelo usuário, mas não acessíveis por outros (leitura / gravação / execução). O ssh simplesmente ignorará um arquivo de chave privada se ele puder ser acessado por outras pessoas.

Normalmente, os arquivos de chave devem ficar assim,

$ ls -l ~/.ssh/id_rsa*
-rw------- 1 benj benj 1766 Jun 22  2011 .ssh/id_rsa
-rw-r--r-- 1 benj benj  388 Jun 22  2011 .ssh/id_rsa.pub

que você pode impor via:

$ chown benj:benj ~/.ssh/id_rsa*
$ chmod 600 ~/.ssh/id_rsa
$ chmod 644 ~/.ssh/id_rsa.pub
    
por ændrük 10.05.2012 / 15:40
11

Tente executar ssh-add antes do SSH no servidor - você deverá então ser solicitado a fornecer a senha e, em seguida, as conexões ssh subsequentes poderão usar sua chave privada.

O comando ssh-add adiciona as chaves ao agente chave.

    
por user123652 16.01.2013 / 12:41
6

As chaves privadas criptografadas mantêm a chave pública correspondente descriptografada . É assim que o cliente SSH pode se conectar ao servidor remoto sem perguntar a senha (ele só oferece a parte pública nesse ponto). Sempre que o servidor aceita a chave pública, o cliente no seu PC quer descriptografar a chave privada e irá pedir-lhe a senha.

Agora, sempre que o servidor só aceita conexão de um endereço IP específico, isso já foi recusado na primeira etapa e explica a mensagem que você recebeu do servidor "Roaming não permitido pelo servidor".

Então, meu melhor palpite é que seu servidor é restrito de alguma forma para permitir apenas endereços IP específicos para essa chave. Você pode fazer isso de várias maneiras, mas isso é comum em ~/.ssh/authorized_keys :

from="192.168.1.2" ssh-rsa AAAAB3NzaC[...]

Para provar que você pode ler a chave pública de uma chave privada criptografada sem senha, execute:

ssh-keygen -y -f /path/to/private/key
    
por gertvdijk 16.01.2013 / 13:39

Tags