Sys Admin (ep. 02, parte 9-2) - SSH (Public and Private Key)

Nesta parte (9-2) vamos mostrar as etapas essenciais para estabelecer acesso SSH usando chaves públicas e privadas de forma a permitir uma autenticação sem senha e mais segura. Na parte anterior (9-1), detalhamos a configuração do serviço SSH através do seu ficheiro (/etc/ssh/sshd_config) de configuração principal para aumentar a segurança, como por exemplo permitir o acesso para o usuário root, entre outras configurações.
 
O primeiro passo é gerar um par de chaves SSH (RSA) na máquina local usando o comando ssh-keygen -t rsa, que resulta na criação de dois ficheiros: id_rsa (chave privada) e id_rsa.pub (chave pública). O nome id_rsa vamos atribuir durante a criação das chaves, com que então é aleatório, não precisa ser exactamente este. Também o caminho para onde as chaves serão criadas, deve se especificar durante a criação das mesmas, assim como deve-se tambem indicar o cominho da chave pública quando estiveremos a copiar a chave para o servidor, também como indicar o caminho da chave privada quando estivermos a aceder o servidor a partir de um usuário que não seja root.

Vamos considerar algumas notas:
  • Localização - note que as chaves foram criadas em ~/.ssh confome mostra a imgem, não sendo mais necessario indicar este caminho durante a nomeação dos ficheiros.
  • Passphrase - é opcional. Para este caso não introduzi nenhuna passphrase, deixei em branco, apenas clicando em Enter.
  • Outra nota importante é em relação a uma das configurações feitas na parte anterior deste episódio, sobre #PasswordAuthentication yes que foi alterada para PasswordAuthentication no. Tive que voltar esta configuração para poder copiar a chave pública para o servidor. Depois de copiar a chave para o servidor (próximo passo), podemos voltar novamente a configuração para PasswordAuthentication no.
  • AllowUsers - certifique-se de que o usuário em questão tem permissão para aceder o servidor a nível de configuração do serviço SSH.
Vamos seguir copiando a chave pública para servidor. Observe o comando abaixo.

Pela imagem acima conseguimos ver que a chave foi copiada para o servidor com sucesso e ao aceder a máquina novamente, o acesso é concedido sem a necessidade de usar a palavra-passe do usuário root.
 
Podemos até verificar as chaves, do lado do servidor assim como da máquina local.

Máquina local

Servidor (máquina virtual, como viemos chamando)

Comentários