copiar chaves privadas ssh para outro computador


52

Preciso usar outro computador para acessar meu servidor ssh. Isso ocorre porque um vpn recentemente implementado 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 o vpn funciona). Tentei copiar os arquivos id_rsae id_rsa.pubna ~/.sshpasta, mas ele 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 consigo acessá-lo fisicamente.

Obrigado.


" id_rsh" É um erro de digitação?
Ændrük

11
Você pode aprender mais sobre o problema tentando ssh -v -i ~/.ssh/id_rsa ssh-server.
Mayndrük

tentei isso. Parece enviar as chaves, mas nunca pede uma senha para descriptografá-las. Também recebo uma estranha mensagem genérica "Roaming não permitido pelo servidor". Acho que as chaves privadas não devem ser copiadas;). Parece que vou ter que confiar em alguém com acesso físico para fazer login manualmente no meu servidor e alterar as configurações do ssh. Obrigado pela ajuda.
Benj

As chaves privadas nunca devem ser copiadas! ESTE É UM RISCO DE SEGURANÇA. Gere novas chaves para cada novo dispositivo !!!!
Éter

@Outro Isso é verdade? E se você precisar reformatar uma máquina? Basta tirar a chave e começar de novo?
nipponese

Respostas:


66

Verifique as permissões e a propriedade do seu arquivo de chave privada. A partir 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 estiver acessível por outras pessoas.

Normalmente, os arquivos principais 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 aplicar via:

$ chown benj:benj ~/.ssh/id_rsa*
$ chmod 600 ~/.ssh/id_rsa
$ chmod 644 ~/.ssh/id_rsa.pub

2
obrigado. Isso é útil saber. Quando você copia um arquivo para outro computador, as permissões parecem mudar para esse usuário. Eu executei os scripts chmod e chown no caso. Infelizmente, isso não ajudou no meu problema.
1145 benj

@ John: isso pode ter sido parte do problema para mim, mas parecia haver outros problemas. Eventualmente, consegui alguém para efetuar login fisicamente no servidor e configurar uma nova chave. Mas aceitará isso, pois provavelmente cobre uma questão fundamental.
21133 benj

Funcionou para mim, @benj.
Sinthia V

14

Tente executar ssh-addantes de efetuar o SSH no servidor - a senha será solicitada e as sshconexões subsequentes poderão usar sua chave privada.

O ssh-addcomando adiciona as chaves ao agente de chaves.


11
Eu não acho que esse seja o problema, pois 1) o cliente SSH pode lidar sem um agente de chave funcional, 2) o servidor não responderia com a mensagem "roaming não permitido" e 3) o cliente ssh teria o seu próprio mensagem de erro ao conversar com o agente principal falha de alguma forma. Eu fiz meus pensamentos sobre isso uma resposta .
precisa saber é o seguinte

Isso corrigiu o problema para mim. Veja também a documentação do Github para isso .
Jonic Biz

8

As chaves privadas criptografadas mantêm sua chave pública correspondente não criptografada . É assim que o cliente SSH pode se conectar ao servidor remoto sem solicitar a senha (ele oferece apenas a parte pública nesse ponto). Sempre que o servidor aceitar a chave pública, o cliente no seu PC deseja descriptografar a chave privada e solicitará a senha.

Agora, sempre que o servidor aceitar apenas a conexão de um endereço IP específico, isso já será recusado na primeira etapa e explicará a mensagem recebida do servidor "Roaming não permitido pelo servidor".

Portanto, meu melhor palpite é que seu servidor está restrito de alguma forma a 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

11
Este é um bom processo útil para obter uma resposta quando você tiver um problema com a conexão SSH. Obrigado.
Sinthia V
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.