Como acessar a sessão ssh de forma segura com a ajuda da autenticação de chaves públicas/privadas

Como acessar a sessão ssh de forma segura com a ajuda da autenticação de chaves públicas/privadas

O SSH é um protocolo que permite comunicar um servidor com o cliente de forma criptografada. Ele substituiu o protocolo telnet, que não era de todo seguro. Quase todos os administradores de sistema Linux sabem sobre isso porque o usam para se conectar a servidores Linux, pois o acesso físico ao servidor é muito limitado, ainda mais com a demanda crescente de serviços virtualizados. Neste tutorial, aprenderemos como acessar a sessão ssh de forma segura com a ajuda da autenticação de chaves públicas/privadas, ou seja, sessões ssh sem senha.

O SSH é instalado por padrão na maior parte das distribuições Linux, e para acessar um servidor através do ssh é muito fácil, você usa o seguinte comando:

 ssh user@{Endereço IP do servidor ou FQDN}

As vantagens de usar autenticação de chaves públicas/privadas são:

  • Você não digitará a senha toda vez que você acessar o servidor (a menos que você esteja usando uma frase secreta para descriptografar as chaves)
  • Ninguém pode ganhar acesso não autorizado ao seu servidor a menos que tenha a chave certa.

Agora vamos criar chaves públicas / privadas para acessar nossos servidores.

Criando chaves na máquina local

Lembre-se disso, as chaves devem ser criadas em cada host do qual você deseja obter acesso. Então, se houver 10 hosts de onde você deseja acessar um servidor, devemos criar chaves em todos esses 10 servidores.

Para criar chaves, execute o seguinte comando:

ssh-keygen -t rsa

Em seguida, solicitará que você selecione um local para as chaves geradas. Por padrão, as chaves serão armazenadas no ~/.ssh que é um diretório oculto na sua pasta inicial ( /home/sempreupdate/.ssh ). A chave privada será chamada id_rsa e a chave pública associada será chamada id_rsa.pub .

Também pedirá que você insira uma frase secreta, que é usada para descriptografar as chaves. Se você não deseja usar qualquer frase-senha, deixe-o vazio e pressione Enter ou forneça uma senha.

Em seguida, defina as permissões nas suas chaves privadas,

chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa

Configuração no Servidor

Agora copie a chave pública ( id_rsa.pub ) e mova-a para o servidor na pasta /home/user/.ssh/authorized_keys. Agora que as chaves públicas foram importadas para o servidor, remova-as da máquina local.

Em seguida, também teremos que definir permissões no servidor também

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Todas as configurações para autenticação de chaves públicas/privadas estão concluídas.

Testando a autenticação de chaves públicas / privadas

Agora realize um novo acesso ao servidor:

ssh user@{Endereço IP do servidor ou FQDN}

Você notará que não será exigida senha e será logado diretamente no servidor.

Depois de testar sua autenticação de chaves públicas/privadas, você também pode desativar o uso da autenticação de senha para que todos usem apenas chaves para acessar o servidor, tornando seus servidores mais seguros. Para desativar a autenticação de senha, abra /etc/sshd/sshd_config e altere o seguinte parâmetro

PasswordAuthentication no

Entaõ é isso, nossa configuração de autenticação de chaves públicas/privadas está completa.