Uma chave privada SSH conforme gerada por ssh-keygen
contém uma parte da chave pública. Como recupero essa chave pública da chave privada? Perdi minha chave pública e preciso colocar o conteúdo dessa chave pública no authorized_keys
arquivo de servidores e não quero criar um novo par de chaves.
Como alternativa: como faço para criar o id_rsa.pub
arquivo a partir de um id_rsa
arquivo?
command-line
ssh
Lekensteyn
fonte
fonte
pbcopy > ~/.ssh/id_rsa.pub
oops.Respostas:
Encontrei a resposta em Falha no servidor: Crie uma chave SSH pública a partir da chave privada?
A opção
-y
gera a chave pública:Como uma observação lateral, o comentário da chave pública é perdido. Como eu tinha um site que exigia o comentário (Barra de Ativação?), É necessário editar
~/.ssh/id_rsa.pub
e anexar um comentário à primeira linha com um espaço entre o comentário e os dados principais. Um exemplo de chave pública é mostrado truncado abaixo.Para chaves que foram adicionadas ao SSH Agent (um programa executado em segundo plano e evita a necessidade de inserir novamente a senha do arquivo de chave repetidamente), você pode usar o
ssh-add -L
comando para listar as chaves públicas das chaves adicionadas a o agente (viassh-add -l
). Isso é útil quando a chave SSH é armazenada em um cartão inteligente (e o acesso ao arquivo de chave privada não é possível).fonte
~/.ssh/id_rsa
deve estar restrito ao seu nome de usuário. use$ sudo chmod 600 ~/.ssh/id_rsa
e insira suas credenciais raiz para restringi-la, e você poderá gerar o arquivo de chave pública. Caso contrário, você receberá um aviso irrestrito de arquivo de chave privada.sudo
, você já deve possuir a chave privada. Caso contrário, você não poderá lê-lo em primeiro lugar.400
é recomendado, pois não é necessário gravar no arquivo de chave privada do tipo. O comando corrigido deve ser #$ chmod 400 ~/.ssh/id_rsa
id_rsa
arquivo) não possui um comentário, mas, na verdade, o comentário no arquivo de chave pública (id_rsa.pub
) é perdido.Esta é uma solução especificamente para usuários que usam Windows para SSH em suas máquinas remotas, incluindo imagens em nuvem no Amazon AWS e GCE.
(Aviso Legal)
Recentemente, usei essa solução para efetuar logon remoto em novas imagens de VM implantadas no GCE.
Ferramentas usadas:
Etapas para executar:
Descrição (como fazer):
Gere uma chave / par ou use uma chave privada existente:
Se você possui uma chave privada:
Abra o puttygen, pressione o botão carregar e selecione seu arquivo de chave privada (* .pem).
Se você não possui uma chave privada:
Crie um novo arquivo 'allowed_keys' (com o Bloco de notas):
Copie seus dados de chave pública da seção "Chave pública para colar no arquivo OpenSSH allowed_keys" do PuTTY Key Generator e cole os dados da chave no arquivo "allowed_keys".
Verifique se há apenas uma linha de texto nesse arquivo.
Carregue a chave em um servidor Linux:
Carregue o arquivo allowed_keys no diretório inicial na máquina remota.
Defina permissões apropriadas:
Crie um
.ssh
diretório (se não existir)Copie o
authorized_keys
arquivo no diretório .ssh (isso substituirá qualquerauthorized_keys
arquivo existente ; observe isso).Se o arquivo existir, basta adicionar o conteúdo desse arquivo ao arquivo existente.
Execute comandos para definir permissões:
Agora você poderá fazer o ssh em uma máquina remota sem inserir credenciais todas as vezes.
Leitura adicional:
Gerando e carregando chaves SSH no Windows
Autenticação sem senha usando a chave OpenSSH, certificados .pem e .pub
fonte