Configurei meu servidor Linux para aceitar conexões do meu PC doméstico adicionando a chave pública gerada pelo PuTTYgen ao authorized_keys
arquivo.
Agora estou tentando me conectar à mesma máquina, mas desta vez a partir de outra máquina Ubuntu. Eu tenho que usar a mesma chave privada (por um motivo estranho, não pergunte ..) e eu não entendo muito bem como instalá-lo no meu cliente Ubuntu.
Preciso convertê-lo para outro formato?
id_rsa
arquivo (convertendo a chave na PuTTYgen)Por coincidência, eu apenas tive que fazer isso. Você precisa converter as chaves para o formato OpenSSH. O comando para fazer isso é:
então você pode copiar o conteúdo de
openssh_key
in.ssh/authorized_keys
da mesma maneira que com uma chave SSH normal.A
-i
opção é a que dizssh-keygen
para fazer a conversão. A-f
opção informa onde encontrar a chave para converter.Isso funciona para chaves não criptografadas . A chave pública não está criptografada, mas a chave privada provavelmente está criptografada. Não tenho certeza se existe uma maneira de descriptografar a chave privada, convertê-la e recodificá-la. Pode ser mais fácil usar novas chaves, como sugere a outra resposta (e eu recomendo o uso,
ssh-agent
embora isso seja ortogonal ao problema atual).fonte
uudecode failed
), necessidade de seguir Como converter pares de chaves SSH gerados usando PuTTYgen (Windows) em pares de chaves usadas por ssh-agente e KeyChain (Linux)puttygen_key
deve ser sua chave pública, não privada (* .ppk).Andrew Stacey explicou como converter as chaves para o formato OpenSSH no Linux.
Se você deseja fazer o mesmo no Windows, siga estas etapas:
fonte
Como reutilizar seus pares de chaves Putty no Ubuntu como chaves OpenSSH:
Como o objetivo da etapa 4 é adicionar sua chave pública a * ~. / Ssh / allowed_keys *, para que você possa usar sua chave secreta Putty como esta em vez de executar 4 como uma etapa intermediária:
fonte
mykey-pub.ppk
é bastante confuso, pois o.ppk
arquivo tem um formato completamente diferente e é usado para pares de chaves (não apenas chave pública).puttygen: unknown output type `private‐openssh'
eputtygen: cannot handle more than one input file
por isso eu copiei as exatas personagens do código-fonte e renomeado minha chave pública para algo completamente diferentePuTTY / PuTTYgen usa seu próprio formato proprietário de par de chaves. Não funcionará no Linux, onde prevalece o formato OpenSSH de chaves.
No PuTTYgen, você pode ver diretamente (e copiar + colar) uma chave pública no formato usado pelo
authorized_keys
arquivo OpenSSH .Você pode usar o botão Salvar chave pública para salvar a chave pública no
.pub
formato (RFC 4716). No Linux, o arquivo normalmente é nomeadoid_rsa.pub
(ouid_dsa.pub
). Mas isso geralmente não é necessário.Use a chave Conversões> Exportar OpenSSH para exportar a chave privada no formato OpenSSH. No Linux, o arquivo normalmente é nomeado
id_rsa
(ouid_dsa
) e é armazenado na.ssh
pastaVeja o oficial Using PuTTYgen, o gerador de chaves PuTTY .
Você também pode usar uma versão Linux do PuTTYgen para fazer a conversão. A versão do Linux é de linha de comando, ao contrário da versão do Windows.
Consulte a
puttygen
página de manual do Linux .fonte
Encontrei mais uma solução clara.
Em
puttygen
criar uma chave, navegue até o menu Superior - Conversão e clique em exportar chave opensshO conteúdo do arquivo começará e terminará com
para usuário root Copie esse arquivo de chave para
/root/.ssh/
comoid_rsa
ouid_dsa
para outro usuário Copie esse arquivo de chave para
/home/user/.ssh/
comoid_rsa
ouid_dsa
Nota :
authorized_keys
.fonte
* * Tenha cuidado e verifique se você tem acesso ao console na caixa, porque se você não fizer o procedimento corretamente, não poderá fazer o ssh novamente até corrigi-lo no console.
O processo é muito mais fácil do que você pensa. Carregue o par de chaves pública / privada que você gerou no puttygen novamente. No puttygen, você notará uma janela no meio da tela que diz: "Chave pública para colar no arquivo Open SSH allowed_keys:".
destaque todo o conteúdo da caixa e pressione control-c para copiá-la.
Faça o SSH na sua caixa do linux e cole-o no arquivo "/home/username/.ssh/authorized_keys". Prefiro usar o nano e clique com o botão direito para colá-lo. Verifique se tudo fica em uma linha.
Modifique o arquivo / etc / sshd_config conforme necessário e reinicie o serviço sshd: "service ssh restart"
Se você precisar de um arquivo de amostra sshd_config, informe-me e posso postar o meu.
Eu fiz isso no servidor Ubuntu 8.04, 10.04 e 12.04 LTS e funciona bem.
fonte
Não tenho certeza se esse segmento ainda está ativo, mas me deparei com um problema semelhante com a edição de aniversário do Windows 10, que agora suporta o kernel do Ubuntu. Eu uso o Putty antes para conectar à máquina Linux. Para gerar id_rsa no formato linux, use puttykeygen e carregue sua chave privada putty, clique em conversão e escolha a segunda opção.
Conevrsions de Putty KeyGenerator
abra o arquivo-chave recém-gerado e copie todo o seu conteúdo, verifique se o conteúdo começa com: ----- BEGIN RSA PRIVATE KEY ----- e termina com ----- END RSA PRIVATE KEY -----
vi id_rsa dentro do diretório ~ / .ssh e cole o conteúdo copiado, isso é necessário porque o linux, caso contrário, não entenderá o conteúdo do arquivo.
Isso é tudo, tente ssh no servidor remoto, ele deve funcionar.
fonte