Como gerar e configurar chaves SSH Linux

Como gerar e configurar chaves SSH Linux

O acesso SSH (Secure Shell) é uma maneira segura e criptografada de se acessar um sistema Linux remotamente. A forma de acesso padrão é com usuário + senha, porém é possível configurar outras maneiras de acesso, como usuário + senha + 2FA por token, par de chaves, etc.

O acesso SSH por par de chaves utiliza uma chave criptográfica pública e privada. Onde você gera um par de chaves para você e cadastra no servidor de destino a sua chave pública em um arquivo chamado authorized_keys no diretório .ssh do usuário desejado.

A principal vantagem do acesso SSH por par de chaves é a segurança. A autenticação por par de chaves é uma opção mais segura em comparação com senhas tradicionais, pois as chaves criptográficas são extremamente difíceis de serem quebradas. Além disso, o uso de chaves elimina a necessidade de inserir senhas toda vez que você se conectar ao servidor.

Processo de logon:

Criação do par de chaves: No computador do cliente, é gerado um par de chaves criptográficas, composto por uma chave privada e uma chave pública. A chave privada é mantida em segredo no computador do cliente, enquanto a chave pública é copiada para o servidor remoto.

Configuração no servidor: A chave pública é adicionada ao arquivo authorized_keys, localizado no diretório .ssh do usuário no servidor remoto.

Solicitação de autenticação: Quando o cliente SSH tenta se conectar ao servidor, ele envia sua chave pública ao servidor durante o processo de autenticação.

Verificação da chave pública: O servidor recebe a chave pública e verifica se ela corresponde a alguma das chaves públicas armazenadas em seu arquivo authorized_keys. Se houver uma correspondência, o servidor prossegue com o processo de autenticação.

Desafio de autenticação: O servidor gera um desafio criptográfico e o envia ao cliente.

Assinatura do desafio: O cliente usa sua chave privada para assinar o desafio criptográfico recebido do servidor.

Verificação da assinatura: O servidor recebe a assinatura do cliente e usa a chave pública correspondente para verificar a autenticidade da assinatura. Se a assinatura for válida, o servidor autentica o cliente com sucesso e concede acesso.

Como gerar o par de chaves:

1- Gere o par de chaves

Primeiramente, para gerar o par de chaves, utilize o comando abaixo:

ssh-keygen -t rsa -b 2048

Este comando usa a criptografia RSA e gera um par de chaves com tamanho de 2048 bits. Você pode ajustar o tamanho da chave de acordo com suas necessidades de segurança, por exemplo utilizar 4096.

Neste momento

Você pode especificar o local para salvar a chave. Por padrão, ele será salvo na pasta ~/.ssh/ com os nomes id_rsa (chave privada) e id_rsa.pub (chave pública). No meu exemplo do print eu mantive o diretório padrão, mas alterei o nome deixando como id_rsa_post

2- Permita no servidor que deseja acessar o acesso com a chave gerada. Para isso acesse-o, entre no arquivo .authorized_keys no usuário que deseja permitir o acesso e coloque a chave PÚBLICA gerada, arquivo .pub:

No print acima eu entrei no diretório com o comando cd, printei o diretório que estava com o comando pwd, listei o diretório com o comando ls, editei o arquivo authorized_keys com o comando vim e depois printei o conteúdo com o comando cat.

3- Teste o acesso

Por fim, utilize o comando abaixo para testar o acesso:

ssh username@servidor

Por fim, agradecemos a leitura e esperamos que este post tenha te ajudado de alguma maneira! Caso tenha alguma dúvida, entre em contato conosco pelo Telegram , Facebook ou Instagram ! Veja mais posts no IronLinux !

Posts relacionados

Desabilitar acesso root no ssh

Desabilitar acesso root no ssh

Nesse post vamos falar sobre como desabilitar o acesso ssh com o usuário root em sua VM Linux de maneira simples e fácil.

Ler post completo
Restrigindo acesso SSH com IpTables

Restrigindo acesso SSH com IpTables

No tutorial de hoje vamos mostrar como realizar o bloqueio da porta 22 (SSH) com o firewall local IPTables.

Ler post completo
Usando o Google Authenticator no Two Factor do SSH [CentOS7]

Usando o Google Authenticator no Two Factor do SSH [CentOS7]

Introdução O Google Authenticator é uma ferramenta gratuita que pode ser utilizada em diversas plataformas para melhorar a segurança na hora de se autenticar em uma aplicação, servidor e outros ambientes.

Ler post completo