Como configurar as teclas SSH no Linux

Como configurar as teclas SSH no Linux

Ssh ou shell seguro é um protocolo utilizado para permitir a comunicação entre dois computadores e compartilhar dados. Ele fornece uma autenticação habilitada por senha ou sem senha (desativada) e criptografa a comunicação entre dois hosts. Ao trabalhar com os servidores do CentOS, a maior parte do tempo é gasto no terminal vinculado ao seu servidor via SSH.

Neste guia, focaremos na configuração da autenticação baseada em chaves SSH para um servidor CentOS 8. As chaves ssh oferecem uma técnica direta e constante de comunicação com servidores remotos e são incentivados para todos os usuários.

Criando chaves SSH no Linux

Para gerar um novo par de chaves RSA de 2048 bits, abra o terminal e execute o comando abaixo do ritmo abaixo:

ssh-keygen  

Depois de pressionar o Enter, você verá a seguinte saída:

Se você pressionar Enter, por padrão, ele salvará o par de teclas no .subdiretório ssh da sua pasta. Você também pode fornecer o caminho alternativo de onde deseja salvar o par de chaves, mas é recomendável usar o diretório padrão para salvar o par de chaves:

Se você criou um par de chaves antes na sua máquina cliente, será solicitado a substituí -la. Cabe a você escolher sim ou não, mas tenha cuidado para escolher a opção 'y'. Se você escolher a opção 'y', não poderá usar o par de teclas anterior para fazer login no servidor.

Agora você será solicitado a fornecer uma senha para adicionar uma camada extra de segurança que impede que usuários não autorizados acessem o servidor. Basta pressionar Enter se você não quiser fornecer nenhuma senha:

Depois de fornecer a senha, você verá a seguinte saída:

Agora você gerou com sucesso um par de chaves SSH, para verificar esta execução do comando abaixo:

ls -l ~//.ssh/id_*.bar  

O comando dado acima será lançado o caminho para o arquivo que contém o par de chaves ssh. Se ele gerar um erro como "nenhum arquivo ou diretório encontrado", isso significa que o par de chaves não foi criado com sucesso e você terá que repetir o processo novamente.

Adicionando a chave SSH ao sistema remoto

Depois de criar o par de chaves, você precisa adicionar a chave SSH ao servidor do CentOS. A maneira mais rápida é usar o método ssh-copy-id. Em alguns casos, você pode não ter o método SSH-Copy-ID disponível em sua máquina local. Nesse caso, você pode usar um método alternativo para adicionar a chave SSH ao servidor do CentOS.

Adicionando chave SSH via SSH-COPY-ID Comando

Sua máquina local provavelmente terá o método ssh-copy-id por padrão. Este método funcionará apenas caso você tenha acesso SSH baseado em senha ao servidor:

SSH-COPY-ID [Email Protected] _host

Para o meu servidor, vou usar:

SSH-COPY-ID [Email Protected]  

O endereço IP é IP do seu sistema, digite sim e pressione Enter, você será solicitado a inserir a senha do usuário remoto:

Depois que o usuário concluir todas as etapas, a chave pública será copiada para o servidor:

Adicionando a chave SSH sem ssh-copy-id

Caso sua máquina local não tenha o método SSH-Copy-ID instalado, o que é altamente improvável, você terá que executar este comando para adicionar as teclas SSH ao servidor.

Para o meu servidor local, usarei:

gato ~//.ssh/id_rsa.pub | ssh [email protegido] "mkdir -p ~//.ssh && chmod 700 ~/.ssh && cat >> ~//.ssh/autorizado_keys && chmod 600 ~/.ssh/autorizado_keys "  

Como fazer login no servidor usando as chaves SSH

Agora que você adicionou com sucesso a chave ao servidor, você poderá fazer login no servidor sem a senha do usuário:

$ ssh [email protegido] _ip_address

Para o meu servidor, usarei o seguinte comando:

ssh [email protegido]  

Se você não definiu a senha, poderá fazer login sem autenticação. É a maneira mais rápida de fazer login no servidor, caso contrário você terá que passar pelo estágio de autenticação.

Etapa 3 - Como desativar a autenticação de senha SSH

Você pode adicionar uma camada de segurança extra desativando a autenticação de senha para SSH. Antes do processo inicial, verifique se você pode acessar seu servidor sem a senha como usuário root ou como usuário sem raiz com privilégios sudo.

Para desativar a autenticação de senha SSH, o primeiro login no servidor:

ssh [email protegido]  

Agora vamos abrir e modificar o arquivo de configuração SSH localizado em/etc/ssh/sshd_config:

sudo nano/etc/ssh/sshd_config  

Depois de abrir o arquivo de configuração, faça as seguintes alterações:

PasswordAuthentication no 

Descomment as linhas acima se forem comentadas removendo o sinal # e defina seu valor para não.

Após a modificação do arquivo SSH, você precisa salvar e fechar o arquivo pressionando Ctrl + X e reinicie o serviço SSH usando o seguinte comando:

sudo systemctl reiniciar sshd  

Ao fazer todas as etapas, a autenticação baseada em senha é desativada com sucesso.

Conclusão

O SSH é um protocolo de rede seguro usado para comunicação entre um servidor remoto e um cliente; É mais seguro que o FTP para transferências de arquivos entre um cliente e um servidor. Neste artigo, aprendemos a gerar pares de chaves SSH e configurar a autenticação baseada em SSH para servidores baseados no CentOS 8, também aprendemos a desativar a autenticação de senha SSH.