The Blog

Criando chave SSH para acesso remoto – Linux


Como gerar uma nova chave de acesso SSH:

ssh-keygen -t rsa -C "[usuário]" -b 4096

Criando a chave pública e adicionando na pasta de chaves do autorizadas (Linux):

ssh-keygen -f ~/.ssh/id_rsa -y > ~/.ssh/id_rsa.pub
ssh-keygen -f ~/.ssh/id_rsa -y -e -m pem > ~/.ssh/id_rsa.pem
ssh-add ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

Agora você já pode copiar a chave para criar o seu arquivo id_rsa localmente:

cat ~/.ssh/id_rsa.pub      # (linux)
type ~\.ssh\id_rsa.pub     # (windows)

Copie o texto da chave dentro de um novo arquivo na pasta “.ssh”, que encontra-se na pasta raiz do seu usuário na sua máquina local. Não esqueça de excluir as quebras de linhas do código.

Também será necessário informar essa chave na lista de chaves autorizadas na ferramenta que você utiliza para hospedar o servidor, exemplo: Google Cloud, Bitbucket, etc.

Caso você esteja acessando o serviço SSH e esteja recebendo uma mensagem de formato inválido (invalid format), execute os seguintes passos.

Execute o seguinte comando no terminal do servidor para criar uma chave no formato privado OpenSSH:
puttygen <arquivo-de-origem> -O <formato> -o <arquivo-de-destino>

puttygen id_rsa -O private-openssh -o id_rsa_private

Talvez seja necessário executar o comando de instalação do puttygen: sudo apt-get install putty-tools

Adicionar o texto —–BEGIN OPENSSH PRIVATE KEY—– no início e —–END OPENSSH PRIVATE KEY—– no final do arquivo não funcionou para mim.

Execute o comando abaixo no servidor para exibir a chave privada. Agora copie o texto e crie o arquivo “id_rsa_private” dentro da pasta “.ssh”, localizado na pasta raiz do seu usuário na sua máquina local.

cat ~/.ssh/id_rsa_private

Esse formato de chave possui quebra de linhas, diferente do formato da primeira chave que geramos e removemos as quebras de linha criar o nosso arquivo local ‘id_rsa’.

Agora você pode acessar o servidor com o arquivo de senha no formato correto, usando o comando abaixo na sua máquina local:

ssh -i ~/.ssh/id_rsa_private [usuário]@[ip-do-servidor]

O usuário do comando acima deverá ser o mesmo que foi utilizado na criação da chave, conforme explicação nos primeiros passos.

Caso seja exibido a mensagem “too open”, então execute a mudança de permissão de acesso do arquivo de chave: “chmod 600 ~/.ssh/id_rsa_private“.

Compartilhe abaixo se a solução funcionou para você ou se você gostaria de acrescentar outos passos para ajudar ainda mais pessoas.

Leave a comment