Como criar chaves SSH com o OpenSSH no MacOS ou Linux ⋆ ALexHost SRL

Teste suas habilidades em todos os nossos serviços de hospedagem e ganhe 15% de desconto!

Utilizar o código no ato da compra:

Skills
20.01.2025
No categories

Como criar chaves SSH com o OpenSSH no MacOS ou Linux

No mundo da comunicação remota segura, o SSH (Secure Shell) é um dos protocolos mais usados para conexão com servidores remotos. O SSH fornece um método seguro de fazer login em máquinas remotas e executar comandos em uma rede. Uma das maneiras mais seguras de se autenticar usando o SSH é com as chaves SSH, que permitem a autenticação sem senha e adicionam uma camada extra de segurança. As chaves SSH são fornecidas em pares: uma chave privada e uma chave pública. Neste artigo, examinaremos as etapas para criar chaves SSH usando o OpenSSH no macOS ou no Linux.

O que são chaves SSH?

As chaves SSH são um par de chaves criptográficas usadas para autenticar um cliente (seu computador) em um servidor SSH. A chave pública é colocada no servidor e a chave privada é mantida no computador do cliente. Quando você tenta fazer login, o servidor compara a chave pública com a chave privada para verificar sua identidade. Ao contrário das senhas, as chaves SSH não são vulneráveis a ataques de força bruta, o que as torna um método de autenticação altamente seguro.

Por que usar chaves SSH?

  • Segurança aprimorada: As chaves SSH são mais difíceis de decifrar do que as senhas tradicionais, reduzindo o risco de acesso não autorizado.
  • Autenticação sem senha: Depois de configuradas, as chaves SSH permitem que você faça login nos servidores sem precisar digitar uma senha todas as vezes.
  • Processos automatizados: As chaves SSH são ideais para automatizar scripts, backups e transferências de arquivos que exigem acesso remoto seguro.

Pré-requisitos

Para seguir este guia, você precisará de:

  1. Um computador macOS ou Linux com o OpenSSH instalado (o OpenSSH é incluído por padrão em ambas as plataformas).
  2. Acesso a um servidor remoto onde você colocará a chave pública.

Guia passo a passo para criar chaves SSH

Etapa 1: Abra um terminal

Tanto no macOS quanto no Linux, o aplicativo Terminal fornece a interface para executar comandos de linha de comando. Abra o Terminal:

  • macOS: procure por “Terminal” no Spotlight (pressione Cmd Space) ou encontre-o em Aplicativos > Utilitários.
  • Linux: Pressione Ctrl Alt T ou procure o Terminal no menu do aplicativo.

Etapa 2: gerar o par de chaves SSH

Para gerar um novo par de chaves SSH, use o seguinte comando no terminal:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Explicação das opções:

  • t rsa: especifica o tipo de chave a ser criada. O RSA é um dos algoritmos mais comumente usados.
  • b 4096: Define o comprimento da chave como 4096 bits para aumentar a segurança.
  • C “your_email@example.com”: Adiciona um comentário à chave, normalmente usado para identificar a chave. Substitua-o por seu e-mail ou um nome descritivo.

Depois de executar esse comando, você verá uma saída semelhante a:

Gerando par de chaves rsa públicas/privadas.
Insira o arquivo no qual deseja salvar a chave (/home/seu nome de usuário/.ssh/id_rsa):

Etapa 3: escolha um local para o arquivo (opcional)

Por padrão, a chave será salva no diretório .ssh em sua pasta pessoal como id_rsa (chave privada) e id_rsa.pub (chave pública). Pressione Enter para confirmar o local padrão ou especifique um caminho diferente.

Exemplo:

Digite o arquivo no qual deseja salvar a chave (/Users/yourusername/.ssh/id_rsa): [Pressione Enter]

Etapa 4: Definir uma frase secreta (opcional, mas recomendada)

Em seguida, você será solicitado a definir uma frase secreta para sua chave:

Digite a frase secreta (vazio para nenhuma frase secreta):

Uma frase secreta fornece uma camada adicional de segurança, exigindo que você a insira sempre que usar a chave privada. Você pode deixar essa opção em branco se preferir não usar uma frase secreta (embora ela seja recomendada para aumentar a segurança).

Se você definir uma frase secreta, certifique-se de que seja algo que você possa lembrar ou armazenar com segurança.

Etapa 5: confirmar a criação do par de chaves

Após concluir as etapas, você verá um resultado semelhante a:

Isso indica que tanto a chave privada (id_rsa) quanto a chave pública (id_rsa.pub) foram criadas e armazenadas com êxito no diretório .ssh.

Etapa 6: copiar a chave pública para o servidor

Agora que você gerou o par de chaves SSH, é necessário copiar a chave pública para o servidor remoto no qual deseja fazer login.

Você pode usar o comando ssh-copy-id para automatizar esse processo:

ssh-copy-id user@your-server.com

Substitua user@your-server.com pelo seu nome de usuário real e pelo endereço do servidor. Será solicitado que você digite sua senha para o servidor remoto.

Como alternativa, se o ssh-copy-id não estiver disponível, você poderá copiar manualmente a chave pública:

  1. Exiba o conteúdo de sua chave pública executando:
    cat ~/.ssh/id_rsa.pub
  2. Copie a saída e cole-a no arquivo.ssh/authorized_keys no servidor remoto. Você pode fazer isso fazendo login no servidor:
    ssh user@your-server.com

    Em seguida, crie o diretório .ssh (se ele não existir) e adicione a chave:

    mkdir -p ~/.ssh
    echo "your-copied-public-key" >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys

Etapa 7: testar a conexão SSH

Depois que a chave pública for copiada para o servidor remoto, você poderá testar a conexão:

ssh user@your-server.com

Se tudo estiver configurado corretamente, você poderá fazer login sem digitar uma senha (a menos que tenha definido uma frase secreta para a chave; nesse caso, será necessário digitá-la).

Gerenciamento de chaves SSH

  • Listar todas as chaves: Se você tiver várias chaves, poderá listá-las navegando até o diretório .ssh:
    ls ~/.ssh
  • Adicionar chaves ao agente SSH: Se quiser evitar digitar a frase secreta repetidamente, você pode adicionar sua chave ao agente SSH:
    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_rsa

Conclusão

Criar chaves SSH com o OpenSSH no macOS ou no Linux é um processo simples que melhora muito a segurança das conexões de servidores remotos. Seguindo as etapas descritas neste guia, você pode gerar um par de chaves e configurar a autenticação sem senha, facilitando o gerenciamento seguro de máquinas remotas. As chaves SSH são uma ferramenta essencial para qualquer desenvolvedor, administrador de sistemas ou qualquer pessoa que trabalhe frequentemente com servidores remotos.

Teste suas habilidades em todos os nossos serviços de hospedagem e ganhe 15% de desconto!

Utilizar o código no ato da compra:

Skills