Em poucas palavras, ssh ou 'shell seguro' é um protocolo criptografado, com o qual você pode se conectar a um servidor remotamente e ter acesso às informações associadas a ele. Ele fornece uma maneira muito mais segura de registrar para fornecer uma maneira segura de fazer login sem comprometer a segurança.
Etapa 1: Crie o par de chaves
Começaremos com a criação de um par de teclas no sistema do cliente primeiro com acesso root por tipo no seguinte:
$ ssh-keygen
Isso desencadeia o mais recente ssh-keygen a criar um par de chave RSA de 3072 bits por padrão. Você pode adicionar a bandeira -b 4086 para gerar uma chave maior. Pressione Enter, e ele armazenará o par de chaves em .ssh/ subdiretório. Observe que, se você é um convidado em um servidor que já tinha uma chave instalada, o prompt perguntará se você deseja substituí -lo ou não. Se for esse o caso, digite 'y' para sinalizar um sim.
Em seguida, o prompt perguntará se você deseja adicionar uma senha. Você pode optar por não participar, mas recomendamos que você adicione um. Ele fortalece o protocolo de segurança, servindo uma camada adicional de proteção para ignorar um usuário não autorizado.
Etapa 2: copie a chave pública para o seu servidor
Em seguida, temos que transferir a chave pública para o seu servidor Ubuntu.
Você pode usar o utilitário SSH-Copy-ID usando o seguinte comando:
$ SSH-COPY-ID UserName@Server_host
Isso deve fazer o truque em apenas alguns segundos. Se a chave foi copiada com sucesso, siga a terceira etapa.
Às vezes, acontece que o método ssh-copy-id falha ou simplesmente não está disponível. Nesse caso, você precisará copiá-lo via ssh baseado em senha. Você pode fazer usando o comando gato e certifique -se de adicionar o símbolo >> para adicionar ao conteúdo em vez de substituí -lo.
$ cat ~//.ssh/id_rsa.pub | ssh remote_username@server_ip_address
"Mkdir -p ~//.ssh && cat >> ~//.ssh/autorizado_keys "
Se esta é a primeira vez que você estiver se conectando a um novo host, seu sistema mostrará algo como:
Basta digitar sim e pressionar o botão Enter. Em seguida, digite a senha na conta de acesso ao usuário e a chave pública será copiada para o seu servidor Ubuntu.
Caso o acesso SSH baseado em senha seja negado a você por algum motivo que você não pode definir, você sempre pode copiar a chave pública manualmente. Adicione o ~//.ssh/autorizado_keys para o id_rsa.Arquivo de pub em sua máquina remota. Em seguida, faça logon na sua conta do servidor remoto e verifique se o diretório ~ ssh existe. Se não for, digite:
$ mkdir -p ~//.ssh
Agora você só precisa adicionar a chave:
$ echo public_key_string >> ~///.ssh/autorizado_keys
$ chmod -r go = ~//.ssh
Além disso, verifique se você está usando o ~ ssh/ DO UTILIZADOR diretório e NÃO o diretório raiz:
$ chown -r Younis: Younis ~//.ssh
Etapa 3: Autentique as chaves SSH
O próximo passo é autenticar as teclas SSH no servidor Ubuntu. Primeiro, faça login no seu host remoto:
$ SSH Nome de usuário@remote_host
Você será solicitado a entrar na chave da senha que você adicionou na etapa 2. Digite -o e continue. A autenticação levará algum tempo e, assim que terminar, você será levado a um novo shell interativo em seu servidor Ubuntu
Etapa 4: Desative a autenticação de senha
Com as teclas SSH autenticadas, você não precisa mais do sistema de autenticação de senha.
Se a autenticação de senha estiver ativada no seu servidor, ela ainda será propensa a acesso de usuário não autorizado por meio de ataques de força bruta. Portanto, seria melhor se você desativar qualquer autenticação baseada em senha.
Primeiro, verifique se você ou você tem a autenticação baseada em key ssh preparada para o raiz conta neste servidor. Se for, você deve alterá -lo para a conta de acesso ao usuário privilegiada por sudo neste servidor, para que o acesso do administrador seja aberto a você em caso de emergência ou quando o sistema está enfrentando algumas atividades suspeitas.
Tendo concedido privilégios de administrador à sua conta de acesso remoto, faça login no servidor remoto com as teclas SSH com privilégios root ou sudo. Em seguida, use o seguinte comando para acessar o arquivo de configuração do Daemon SSH:
$ sudo gedit/etc/ssh/sshd_config
Com o arquivo aberto agora, pesquise o diretório 'PasswordAuthentication' e digite o seguinte para desativar a autenticação de senha e os logins SSH baseados em senha.
$/etc/ssh/sshd_config
..
PasswordAuthentication no
..
Para ver essas mudanças em vigor, você terá que reiniciar o serviço SSHD usando o seguinte comando:
$ sudo systemctl reiniciar ssh
Como precaução, abra uma nova janela do terminal e teste que o serviço SSH está funcionando corretamente antes de fechar sua sessão atual.
Com suas chaves ssh verificadas, você poderá ver tudo funcionando normalmente. Você pode sair de todas as sessões atuais do servidor.
Conclusão
Agora que você tem um sistema de autenticação baseado em chave SSH, não precisa mais do sistema de autenticação de senha vulnerável, pois você pode simplesmente fazer login sem uma senha. Espero que você tenha achado este tutorial útil.