Android

Como configurar o login ssh sem senha

Projeto Técnico - Como configurar a Conexão SSH sem o uso de senha.

Projeto Técnico - Como configurar a Conexão SSH sem o uso de senha.

Índice:

Anonim

O Secure Shell (SSH) é um protocolo de rede criptográfico usado para conexão segura entre um cliente e um servidor e suporta vários mecanismos de autenticação. Os dois mecanismos mais populares são autenticação baseada em senhas e autenticação baseada em chave pública.

Neste tutorial, mostraremos como configurar uma autenticação baseada em chave SSH, bem como se conectar ao servidor Linux sem inserir uma senha.

Configuração do login sem senha do SSH

Para configurar um login SSH sem senha no Linux, tudo que você precisa fazer é gerar uma chave de autenticação pública e anexá-la ao arquivo ~/.ssh/authorized_keys hosts remotos.

As etapas a seguir descreverão o processo para configurar o login SSH sem senha:

  1. Verifique se há um par de chaves SSH existente.

    Antes de gerar um novo par de chaves SSH, verifique primeiro se você já possui uma chave SSH na máquina do cliente, pois não deseja substituir as chaves existentes.

    Execute o seguinte comando ls para verificar se as chaves SSH existentes estão presentes:

    ls -al ~/.ssh/id_*.pub

    Se houver chaves existentes, você poderá usá-las e pular a próxima etapa ou fazer backup das chaves antigas e gerar uma nova.

    Gere um novo par de chaves SSH.

    O comando a seguir irá gerar um novo par de chaves SSH de 4096 bits com o seu endereço de email como um comentário:

    ssh-keygen -t rsa -b 4096 -C "[email protected]"

    Pressione Enter para aceitar o local e o nome do arquivo padrão:

    Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):

    Em seguida, a ferramenta ssh-keygen solicitará que você digite uma senha segura. Se você deseja usar a senha, é com você, se você optar por usar a senha, obterá uma camada extra de segurança. Na maioria dos casos, desenvolvedores e administradores de sistema usam SSH sem uma senha, porque são úteis para processos totalmente automatizados. Se você não quiser usar a senha, pressione Enter

    Enter passphrase (empty for no passphrase):

    Toda a interação é assim:

    Para ter certeza de que as chaves SSH são geradas, você pode listar suas novas chaves públicas e privadas com:

    ls ~/.ssh/id_*

    /home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

    Copie a chave pública

    Agora que você gerou um par de chaves SSH, para poder efetuar login no servidor sem uma senha, você precisa copiar a chave pública no servidor que deseja gerenciar.

    A maneira mais fácil de copiar sua chave pública para o servidor é usar um comando chamado ssh-copy-id . No terminal da sua máquina local, digite:

    ssh-copy-id remote_username@server_ip_address

    Você será solicitado a digitar a senha remote_username :

    remote_username@server_ip_address's password:

    Depois que o usuário é autenticado, a chave pública será anexada ao arquivo remote_keys do usuário remoto e a conexão será fechada.

    Se, por algum motivo, o utilitário ssh-copy-id não estiver disponível no computador local, você poderá usar o seguinte comando para copiar a chave pública:

    cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

    Entre no seu servidor usando chaves SSH

    Depois de concluir as etapas acima, você poderá efetuar login no servidor remoto sem ser solicitada uma senha.

    Para testá-lo, tente fazer login no seu servidor via SSH:

    ssh remote_username@server_ip_address

    Se tudo correu bem, você será logado imediatamente.

Desabilitando a autenticação de senha SSH

Para adicionar uma camada extra de segurança ao seu servidor, você pode desativar a autenticação de senha para SSH.

Antes de desativar a autenticação de senha SSH, verifique se você pode efetuar login no servidor sem uma senha e se o usuário com o qual está efetuando login tem privilégios de sudo.

Os seguintes tutoriais descrevem como configurar o acesso ao sudo:

  1. Efetue login no servidor remoto com chaves SSH, como um usuário com privilégios sudo ou root:

    ssh sudo_user@server_ip_address

    Abra o arquivo de configuração SSH /etc/ssh/sshd_config , procure as seguintes diretivas e modifique da seguinte maneira:

    / etc / ssh / sshd_config

    PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no

    Quando terminar, salve o arquivo e reinicie o serviço SSH.

    Nos servidores Ubuntu ou Debian, execute o seguinte comando:

    sudo systemctl restart ssh

    Nos servidores CentOS ou Fedora, execute o seguinte comando:

    sudo systemctl restart sshd

Conclusão

Neste tutorial, você aprendeu como configurar uma autenticação baseada em chave SSH, permitindo efetuar login no servidor remoto sem fornecer uma senha de usuário. Você pode adicionar a mesma chave a vários serviços remotos.

Também mostramos como desativar a autenticação de senha SSH e adicionar uma camada extra de segurança ao seu servidor.

segurança ssh