Configure o servidor SSH para autenticação de chave no Ubuntu 17.04 | 17,10

  • George Richardson
  • 0
  • 4637
  • 503

Este breve tutorial mostra aos alunos e novos usuários como configurar o servidor OpenSSH para autenticação de chave ou autenticação sem senha. Esta configuração permite que os usuários do servidor Ubuntu façam logon via SSH sem digitar senhas.

Esta é uma alternativa muito mais segura para autenticação de senha SSH. Com a autenticação por senha, cada vez que um usuário deseja fazer o logon, ele deve sempre digitar uma senha. Outro ponto fraco é que a senha pode ser adivinhada por qualquer pessoa.

Com a autenticação de chave, nenhuma senha é digitada. Somente computadores clientes com o par de chaves correspondente ao servidor são permitidos.

Para configurar o SSH com autenticação de chave, siga as etapas abaixo:

Etapa 1: gerar uma chave SSH para cada usuário

Para fazer logon via autenticação de chave SSH, você deve primeiro gerar um par de chaves. Duas chaves são criadas: uma pública e outra privada. A chave privada deve permanecer no servidor e a chave pública compartilhada com os clientes de forma segura.

Faça login via SSH como o usuário que deseja configurar e execute os comandos abaixo para gerar um par de chaves SSH.

ssh-keygen -t rsa

Quando solicitado, pressione Enter para aceitar o local padrão para armazenar as chaves ... por padrão, é salvo no diretório inicial do usuário na pasta oculta .ssh.

richard @ ubuntu1704: ~ $ ssh-keygen -t rsa Gerando par de chaves rsa pública / privada. Insira o arquivo no qual salvar a chave (/home/richard/.ssh/id_rsa): Insira o diretório criado '/home/richard/.ssh'. Digite a frase-senha (vazio para nenhuma frase-senha): Digite Digite a mesma frase-senha novamente: Digite Sua identificação foi salva em /home/richard/.ssh/id_rsa. Sua chave pública foi salva em /home/richard/.ssh/id_rsa.pub. 

Etapa 2: Compartilhe a chave pública com o PC cliente

Depois de criar o par de chaves acima, uma chave pública chamada id_rsa.pub será armazenado no ~ / .ssh /. Uma pasta também chamada autorizado_chaves também será criado nesse diretório. O servidor SSH procura no ~ / .ssh / authorized_keys para todas as chaves autorizadas que podem fazer logon no servidor.

Portanto, execute os comandos abaixo para mover a chave pública criada acima para o arquivo ~ / .ssh / authorized_keys.

mv ~ / .ssh / id_rsa.pub ~ / .ssh / authorized_keys

Depois de executar os comandos acima, faça logon no computador cliente ... espero que outra máquina Linux e execute os comandos abaixo para copiar a chave pública para a máquina cliente.

mkdir ~ / .ssh scp richard @ server_name: /home/richard/.ssh/id_rsa ~ / .ssh / 

A chave deve ser copiada para a máquina cliente.

Etapa 3: Faça logon no SSH sem senha

Depois de obter a chave para o computador cliente, faça logon no servidor e abra o arquivo de configuração padrão SSH executando os comandos abaixo

sudo nano / etc / ssh / sshd_config

Em seguida, faça as alterações destacadas abaixo e salve o arquivo.

# Para desabilitar senhas de texto não criptografado em túnel, mude para não aqui! PasswordAuthentication não ChallengeResponseAuthentication não UsePAM sim #PermitEmptyPasswords não 

Salve o arquivo e reinicie o SSH

sudo systemctl restart ssh

Proteja suas chaves.

No servidor, execute os comandos abaixo para proteger as chaves SSH.

chmod 600 ~ / .ssh / authorized_keys

Agora, apenas clientes com o par de chaves correspondente terão permissão para entrar no servidor. Para conectar, execute os comandos abaixo substituindo server_name pelos servidores originais.

ssh richard @ server_name

Irá fazer logon sem digitar uma senha.

Se você conseguir a chave de uma máquina Windows, também poderá usar o PuTTY para se conectar automaticamente.

Aproveite ~




Ainda sem comentários

Uma coleção de informações úteis sobre o sistema operacional Linux e novas tecnologias
Artigos novos, dicas práticas, revisões detalhadas e guias. Sinta-se em casa no mundo do sistema operacional Linux