One place for hosting & domains

      Configurar

      Como configurar a autenticação por senha com o Apache no Ubuntu 18.04 [Início Rápido]


      Introdução

      Este tutorial trará um passo a passo sobre como proteger ativos em um servidor Web Apache em execução no Ubuntu 18.04. O cumprimento desses passos dará segurança adicional para seu servidor, de modo que usuários não autorizados não possam acessar certas partes de sua página.

      Para obter uma versão mais detalhada deste tutorial, com explicações mais detalhadas de cada passo, consulte o artigo sobre Como configurar a autenticação por senha com o Apache no Ubuntu 18.04.

      Pré-requisitos

      Para completar este tutorial, você precisará acessar o seguinte em um servidor Ubuntu 18.04:

      • Um usuário sudo no seu servidor

      • Um servidor de Web Apache2

      • Um site protegido com o protocolo SSL

      Passo 1 — Instalar o pacote de utilitários do Apache

      Instalaremos um serviço chamado htpasswd, que faz parte do pacote apache2-utils para gerenciar nomes de usuário e senhas de acesso ao conteúdo restrito.

      • sudo apt-get update
      • sudo apt-get install apache2-utils

      Passo 2 — Criar o arquivo de senha

      Criaremos o primeiro usuário do seguinte modo (substitua o `first_username pelo nome de usuário de sua escolha):

      • sudo htpasswd -c /etc/apache2/.htpasswd first_username

      Será solicitado que forneça e confirme uma senha para o usuário.

      Deixe o argumento -c para quaisquer usuários adicionais que queira adicionar para que você não substitua o arquivo:

      • sudo htpasswd /etc/apache2/.htpasswd another_user

      Passo 3 — Configurar a autenticação por senha do Apache

      Neste passo, precisamos configurar o Apache para verificar esse arquivo, antes de atender nosso conteúdo protegido. Faremos isso usando o arquivo de host virtual do site. Há, porém, outra opção detalhada no tutorial mais longo, caso não tenha acesso ou prefira usar os .htaccess.

      Abra o arquivo de host virtual que deseja adicionar uma restrição com um editor de texto, como o nano:

      • sudo nano /etc/apache2/sites-enabled/default-ssl.conf

      A autenticação é feita com base em cada diretório. Em nosso exemplo, iremos restringir o diretório base inteiro. Entretanto, você poderá alterar essa listagem para atingir um diretório específico, dentro do espaço Web.

      Neste passo, adicione as linhas destacadas no seu arquivo:

      /etc/apache2/sites-enabled/default-ssl.conf

      <VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
      
        <Directory "/var/www/html">
            AuthType Basic
            AuthName "Restricted Content"
            AuthUserFile /etc/apache2/.htpasswd
            Require valid-user
        </Directory>
      </VirtualHost>
      

      Verifique a configuração com o seguinte comando:

      É possível reiniciar o servidor para implementar sua política de senha e, em seguida, verificar o status do seu servidor.

      • sudo systemctl restart apache2
      • sudo systemctl status apache2

      Passo 4 — Confirmar a autenticação por senha

      Para confirmar se o seu conteúdo está protegido, tente acessar seu conteúdo restrito em um navegador Web. Você deve receber um prompt com nome de usuário e senha:

      Prompt de senha do Apache2

      Tutoriais relacionados

      Aqui estão os links para os guias mais, detalhados relacionados a este tutorial:



      Source link

      Como configurar a autenticação por senha com o Apache no Ubuntu 18.04


      Introdução

      Como um administrador Web, pode ser interessante restringir o acesso de visitantes a algumas partes de um site, seja temporária ou permanentemente. Embora os aplicativos Web possam fornecer seus próprios métodos de autenticação e autorização, você também pode confiar no próprio servidor Web para restringir o acesso, se eles forem inadequados ou estiverem indisponíveis.

      Este tutorial traz um passo a passo sobre como proteger ativos com senha em um servidor Web do Apache que executa no Ubuntu 18.04, de modo a proporcionar mais segurança ao seu servidor.

      Pré-requisitos

      Para completar este tutorial, será necessário ter acesso a um servidor Ubuntu 18.04.

      Além disso, você precisará da seguinte configuração antes de começar:

      Quando tudo isso estiver funcionando, faça login no seu servidor como o usuário sudo e continue abaixo.

      Passo 1 — Instalando o pacote de utilitários do Apache

      Vamos começar atualizando nosso servidor e instalando um pacote que precisaremos. Para completar este tutorial, usaremos um utilitário chamado htpasswd, que faz parte do pacote apache2-utils, para criar o arquivo e gerenciar os nomes de usuários e senhas necessários para acessar conteúdo restrito.

      • sudo apt-get update
      • sudo apt-get install apache2-utils

      Com isso instalado, temos agora acesso ao comando htpasswd.

      Passo 2 — Criando o arquivo de senha

      O comando htpasswd nos permitirá criar um arquivo de senha que o Apache poderá usar para autenticar os usuários. Criaremos um arquivo oculto para esse fim, chamado .htpasswd, dentro do nosso diretório de configuração /etc/apache2.

      A primeira vez que usarmos esse utilitário, precisaremos adicionar a opção -c para criar o arquivo passwdfile especificado. Assim, especificamos um nome de usuário (sammy, neste exemplo) – no final do comando – para criar uma nova entrada dentro do arquivo:

      • sudo htpasswd -c /etc/apache2/.htpasswd sammy

      Você será solicitado a fornecer e confirmar uma senha para o usuário.

      Deixe o argumento -c para quaisquer usuários adicionais que queira adicionar para que não substitua o arquivo:

      • sudo htpasswd /etc/apache2/.htpasswd another_user

      Se visualizarmos o conteúdo do arquivo, podemos ver o nome de usuário e a senha criptografada de cada registro:

      • cat /etc/apache2/.htpasswd

      Output

      sammy:$apr1$.0CAabqX$rb8lueIORA/p8UzGPYtGs/ another_user:$apr1$fqH7UG8a$SrUxurp/Atfq6j7GL/VEC1

      Agora, temos nossos usuários e senhas em um formato que o Apache pode ler.

      Passo 3 — Configurando a autenticação por senha do Apache

      Neste passo, precisamos configurar o Apache para verificar esse arquivo antes de atender nosso conteúdo protegido. Podemos fazer isso de duas maneiras: diretamente no arquivo do host virtual de um site, ou colocando os arquivos .htaccess nos diretórios que precisam de restrição. Geralmente, é melhor usar o arquivo de host virtual. Porém, se você precisa permitir que os usuários não raiz gerenciem suas próprias restrições de acesso, verifique as restrições no controle de versão ao longo do site, ou caso já tenha um aplicativo Web que usa os arquivos .htaccess para outros fins, confira a segunda opção.

      Escolha a opção que melhor atenda às suas necessidades.

      Opção 1: configurando o controle de acesso dentro da definição de host Virtual (Preferencial)

      A primeira opção é editar a configuração do Apache e adicionar a proteção por senha ao arquivo do host virtual. De maneira geral, isso irá proporcionar um desempenho melhor, pois evita o custo de ler arquivos de configuração distribuídos. Essa opção exige acesso à configuração – que nem sempre está disponível; porém, quando de fato tiver acesso, é recomendável.

      Comece abrindo o arquivo de host virtual para o qual deseja adicionar uma restrição. No nosso exemplo, estaremos usando o arquivo default-ssl.conf, que contém o host virtual padrão instalado através do pacote Apache do Ubuntu. Abra o arquivo com um editor de texto de linha de comando, como o nano:

      • sudo nano /etc/apache2/sites-enabled/default-ssl.conf

      Ali dentro, com os comentários removidos, o arquivo deverá ficar parecido com este:

      /etc/apache2/sites-enabled/default-ssl.conf

      <VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
      </VirtualHost>
      

      A autenticação é feita com base em cada diretório. Para configurar a autenticação, você precisará selecionar o diretório que deseja restringir com um bloco de <Directory ___>. No nosso exemplo, vamos restringir o diretório base inteiro, mas você pode modificar essa listagem para escolher um diretório específico dentro do espaço Web:

      /etc/apache2/sites-enabled/default-ssl.conf

      <VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
      
        <Directory "/var/www/html">
        </Directory>
      </VirtualHost>
      

      Dentro desse bloco de diretório, especifique que estamos configurando a autenticação Basic (básica). Para o AuthName, escolha um nome de realm que será exibido para o usuário quando for solicitado por credenciais. Use a diretiva AuthUserFile para apontar o Apache para o arquivo de senha que criamos. Por fim, estabeleça como requisito que somente um valid-user poderá acessar esse recurso. Isto significa dizer que, se o usuário puder confirmar sua identidade através de uma senha, ele terá permissão para entrar:

      /etc/apache2/sites-enabled/default-ssl.conf

      <VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
      
        <Directory "/var/www/html">
            AuthType Basic
            AuthName "Restricted Content"
            AuthUserFile /etc/apache2/.htpasswd
            Require valid-user
        </Directory>
      </VirtualHost>
      

      Salve e feche o arquivo quando você terminar. Se estiver usando o nano, você pode fazer isso pressionando CTRL+X seguido de Y e, depois, ENTER.

      Antes de reiniciar o servidor Web, verifique a configuração com o seguinte comando:

      • sudo apache2ctl configtest

      Se tudo estiver correto e você receber um Syntax OK como resultado, reinicie o servidor para implementar sua política de senha. Como o systemctl não mostra o resultado de todos os comandos de gerenciamento de serviços, usaremos o status para ter certeza de que o servidor está em funcionamento:

      • sudo systemctl restart apache2
      • sudo systemctl status apache2

      Agora, o diretório que você especificou deve estar protegido por senha.

      Opção 2: configurando o controle de acesso com arquivos .htaccess

      O Apache pode usar arquivos .htaccess para permitir que certos itens de configuração sejam definidos dentro de um diretório de conteúdo. Como o Apache precisa reler esses arquivos a cada pedido que envolva o diretório – o que pode ter impacto negativo no desempenho, a Opção 1 é preferencia. Porém, se você já estiver usando o arquivo .htaccess ou precisar permitir que usuários não raiz gerenciem restrições, os arquivos .htaccess fazem sentido.

      Para habilitar a proteção por senha usando arquivos .htaccess, abra o arquivo de configuração principal do Apache com um editor de texto de linha de comando, como o nano:

      • sudo nano /etc/apache2/apache2.conf

      Encontre o bloco <Directory> para o diretório /var/www que contém o diretório base. Ative o processamento do .htaccess, modificando a diretiva AllowOverride dentro desse bloco, de None para All:

      /etc/apache2/apache2.conf

      . . .
      
      <Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
      </Directory>
      
      . . .
      

      Salve e feche o arquivo quando você terminar. Se estiver usando o nano, você pode fazer isso pressionando CTRL+X seguido de Y e, depois, ENTER.

      Em seguida, precisamos adicionar um arquivo .htaccess ao diretório que queremos restringir. Em nossa demonstração, vamos restringir o diretório base inteiro (o site inteiro), que fica em /var/www/html, mas você pode colocar esse arquivo em qualquer diretório onde queira restringir o acesso:

      • sudo nano /var/www/html/.htaccess

      Dentro desse arquivo, especifique que queremos configurar a autenticação Basic. Para o AuthName, escolha um nome de realm que será exibido para o usuário quando for solicitado por credenciais. Use a diretiva AuthUserFile para apontar o Apache para o arquivo de senha que criamos. Por fim, vamos exigir um valid-user para acessar esse recurso, o que significa que alguém que consiga confirmar sua identidade com uma senha terá permissão para entrar:

      /var/www/html/.htaccess

      AuthType Basic
      AuthName "Restricted Content"
      AuthUserFile /etc/apache2/.htpasswd
      Require valid-user
      

      Salve e feche o arquivo. Reinicie o servidor Web para proteger com senha todo o conteúdo dentro ou abaixo do diretório com o arquivo .htaccess e use o systemctl status para verificar o sucesso da reinicialização:

      • sudo systemctl restart apache2
      • sudo systemctl status apache2

      O diretório que você especificou deve estar agora protegido por senha.

      Passo 4 — Confirmando a autenticação por senha

      Para confirmar se seu conteúdo está protegido, tente acessar seu conteúdo restrito em um navegador Web. Você deve receber um prompt de usuário e senha que se parece com este:

      Prompt de senha do Apache2

      Se digitar as credenciais corretas, você poderá acessar o conteúdo. Se digitar as credenciais erradas ou clicar em “Cancel” (cancelar), você verá a página de erro “Unauthorized” (não autorizado):

      Erro não autorizado do Apache2

      Conclusão

      Parabéns! Se você acompanhou o tutorial até este ponto, você já pode configuar a autenticação básica para o seu site.

      Há muito mais que pode ser feito com a configuração do Apache e .htaccess. Para aprender mais sobre a flexibilidade e a eficácia que estão disponíveis na configuração do Apache, teste um desses tutoriais:



      Source link

      Cómo configurar claves de SSH en CentOS 8


      Introducción

      SSH, o shell seguro, es un protocolo cifrado que se usa para administrar servidores y comunicarse con ellos. Al trabajar con un servidor de CentOS, es probable que pase la mayor parte de su tiempo en una sesión de terminal conectada a su servidor a través de SSH.

      En esta guía, nos centraremos en la configuración de claves de SSH para un servidor de CentOS 8. Las claves de SSH proporcionan una alternativa sencilla y segura para iniciar sesión en su servidor y se recomiendan para todos los usuarios.

      Paso 1: Crear el par de claves de RSA

      El primer paso es crear un par de claves en la máquina cliente (por lo general, su computadora local):

      De forma predeterminada, ssh-keygen creará un par de claves RSA de 2048 bits, que ofrece suficiente seguridad para la mayoría de los casos de uso (como opción, puede pasar en el indicador -b 4096 a crear una clave más grande de 4096 bits).

      Después de ingresar el comando, verá el siguiente mensaje:

      Output

      Generating public/private rsa key pair. Enter file in which to save the key (/your_home/.ssh/id_rsa):

      Pulse ENTER para guardar el par de claves en el subdirectorio .ssh/ de su directorio de inicio o especificar una ruta alternativa.

      Si generó previamente un par de claves de SSH, puede ver el siguiente mensaje:

      Output

      /home/your_home/.ssh/id_rsa already exists. Overwrite (y/n)?

      Si elige sobrescribir la clave en el disco, ya no podrá autenticar usando la clave anterior. Tenga mucho cuidado al convalidar la operación, ya que este es un proceso destructivo que no puede revertirse.

      Debería ver el siguiente mensaje:

      Output

      Enter passphrase (empty for no passphrase):

      Aquí, como opción puede introducir una frase de contraseña segura, lo cual se recomienda mucho. Una frase de contraseña agrega una capa de seguridad adicional para su clave, a fin de evitar el inicio de sesión de usuarios no autorizados.

      Debería ver el siguiente resultado:

      Output

      Your identification has been saved in /your_home/.ssh/id_rsa. Your public key has been saved in /your_home/.ssh/id_rsa.pub. The key fingerprint is: a9:49:2e:2a:5e:33:3e:a9:de:4e:77:11:58:b6:90:26 username@remote_host The key's randomart image is: +--[ RSA 2048]----+ | ..o | | E o= . | | o. o | | .. | | ..S | | o o. | | =o.+. | |. =++.. | |o=++. | +-----------------+

      Ahora dispondrá de una clave pública y privada que puede usar para realizar la autenticación. El siguiente paso es disponer la clave pública en su servidor a fin de poder usar autenticación basada en claves de SSH para iniciar sesión.

      Paso 2: Copiar la clave pública al servidor de CentOS

      La alternativa más rápida para copiar su clave pública al host de CentOS es usar una utilidad llamada ssh-copy-id. Este método es altamente recomendado si está disponible. Si no tiene ssh-copy-id disponible en su máquina cliente, puede usar uno de los dos métodos alternativos que se muestran a continuación (realizar una copia mediante SSH con contraseña o copiar manualmente la clave).

      Copiar su clave pública usando ssh-copy-id

      La herramienta ssh-copy-id se incluye por defecto en muchos sistemas operativos. Por ello, es posible que tenga la posibilidad de disponer de ella en su sistema local. Para que este método funcione, ya debe disponer de acceso con SSH basado en contraseña en su servidor.

      Para usar la utilidad, solo necesita especificar el host remoto al que desee conectarse y la cuenta de usuario a la que tenga acceso mediante SSH con contraseña. Esta es la cuenta a la que se copiará su clave de SSH pública:

      • ssh-copy-id username@remote_host

      Es posible que vea el siguiente mensaje:

      Output

      The authenticity of host '203.0.113.1 (203.0.113.1)' can't be established. ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe. Are you sure you want to continue connecting (yes/no)? yes

      Esto significa que su computadora local no reconoce el host remoto. Esta pasará la primera vez que establezca conexión con un nuevo host. Escriba yes y presione ENTER para continuar.

      A continuación, la utilidad analizará su cuenta local en busca de la clave id_rsa.pub que creamos antes. Cuando la encuentre, le solicitará la contraseña de la cuenta del usuario remoto:

      Output

      /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys username@203.0.113.1's password:

      Escriba la contraseña (por motivos de seguridad, no se mostrará lo que escriba) y presione ENTER. La utilidad se conectará a la cuenta en el host remoto usando la contraseña que proporcionó. Luego, se copiarán los contenidos de su clave ~/.ssh/id_rsa.pub al archivo de la cuenta remota ~/.ssh/authorized_keys.

      Debería ver el siguiente resultado:

      Output

      Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'username@203.0.113.1'" and check to make sure that only the key(s) you wanted were added.

      En este punto, su clave id_rsa.pub se habrá cargado en la cuenta remota. |Puede continuar con el paso 3.

      Copiar la clave pública usando SSH

      Si no tiene ssh-copy-id disponible, pero tiene acceso de SSH basado en contraseña a una cuenta de su servidor, puede cargar sus claves usando un método de SSH más convencional.

      Podemos hacer esto usando el comando cat para leer el contenido de la clave de SSH pública en nuestra computadora local y canalizando esto a través de una conexión SSH al servidor remoto.

      Por otra parte, podemos asegurarnos de que el directorio ~/.ssh exista y tenga los permisos correctos conforme a la cuenta que usamos.

      Luego podemos transformar el contenido que canalizamos a un archivo llamado authorized_keys dentro de este directorio. Usaremos el símbolo de redireccionamiento >> para anexar el contenido en lugar de sobrescribirlo. Esto nos permitirá agregar claves sin eliminar ninguna clave previamente agregada.

      El comando completo tiene este aspecto:

      • cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/authorized_keys"

      Es posible que vea el siguiente mensaje:

      Output

      The authenticity of host '203.0.113.1 (203.0.113.1)' can't be established. ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe. Are you sure you want to continue connecting (yes/no)? yes

      Esto significa que su computadora local no reconoce el host remoto. Esta pasará la primera vez que establezca conexión con un nuevo host. Escriba yes y presione ENTER para continuar.

      Posteriormente, deberá recibir la solicitud de introducir la contraseña de la cuenta de usuario remota:

      Output

      username@203.0.113.1's password:

      Una vez que ingrese su contraseña, el contenido de su clave id_rsa.pub se copiará al final del archivo authorized_keys de la cuenta del usuario remoto. Continúe con el paso 3 si el procedimiento se completó de forma correcta.

      Copiar la clave pública de forma manual

      Si no tiene disponibilidad de acceso de SSH basado en contraseña a su servidor, deberá completar el proceso anterior de forma manual.

      Habilitaremos el contenido de su archivo id_rsa.pub para el archivo ~/.ssh/authorized_keys en su máquina remota.

      Para mostrar el contenido de su clave id_rsa.pub, escriba esto en su computadora local:

      Verá el contenido de la clave, que debería tener un aspecto similar a este:

      Output

      ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCqql6MzstZYh1TmWWv11q5O3pISj2ZFl9HgH1JLknLLx44+tXfJ7mIrKNxOOwxIxvcBF8PXSYvobFYEZjGIVCEAjrUzLiIxbyCoxVyle7Q+bqgZ8SeeM8wzytsY+dVGcBxF6N4JS+zVk5eMcV385gG3Y6ON3EG112n6d+SMXY0OEBIcO6x+PnUSGHrSgpBgX7Ks1r7xqFa7heJLLt2wWwkARptX7udSq05paBhcpB0pHtA1Rfz3K2B+ZVIpSDfki9UVKzT8JUmwW6NNzSgxUfQHGwnW7kj4jp4AT0VZk3ADw497M2G/12N0PPB5CnhHf7ovgy6nL1ikrygTKRFmNZISvAcywB9GVqNAVE+ZHDSCuURNsAInVzgYo9xgJDW8wUw2o8U77+xiFxgI5QSZX3Iq7YLMgeksaO4rBJEa54k8m5wEiEE1nUhLuJ0X/vh2xPff6SQ1BL/zkOhvJCACK6Vb15mDOeCSq54Cr7kvS46itMosi/uS66+PujOO+xt/2FWYepz6ZlN70bRly57Q06J+ZJoc9FfBCbCyYH7U/ASsmY095ywPsBo1XQ9PqhnN1/YOorJ068foQDNVpm146mUpILVxmq41Cj55YKHEazXGsdBIbXWhcrRf4G2fJLRcGUr9q8/lERo9oxRm5JFX6TCmj6kmiFqv+Ow9gI0x8GvaQ== sammy@host

      Inicie sesión en su host remoto usando cualquier método del que disponga.

      Una vez que tenga acceso a su cuenta en el servidor remoto, debe asegurarse de que exista el directorio ~/.ssh. Con este comando se creará el directorio, si es necesario. Si este último ya existe, no se creará:

      Ahora, podrá crear o modificar el archivo authorized_keys dentro de este directorio. Puede agregar el contenido de su archivo id_rsa.pub al final del archivo authorized_keys y, si es necesario, crear este último con el siguiente comando:

      • echo public_key_string >> ~/.ssh/authorized_keys

      En el comando anterior, reemplace public_key_string por el resultado del comando cat ~/.ssh/id_rsa.pub que ejecutó en su sistema local. Debería iniciar con ssh-rsa AAAA....

      Por último, verificaremos que el directorio ~/.ssh y el archivo authorized_keys tengan el conjunto de permisos apropiados:

      Con esto, se eliminan de forma recursiva todos los permisos “grupo” y “otros” del directorio ~/.ssh/.

      Si está usando la cuenta root para configurar claves para una cuenta de usuario, también es importante que el directorio ~/.ssh pertenezca al usuario y no sea root:

      • chown -R sammy:sammy ~/.ssh

      En este tutorial, nuestro usuario recibe el nombre sammy, pero debe sustituir el nombre de usuario que corresponda en el comando anterior.

      Ahora podemos intentar realizar la autenticación basada en claves con nuestro servidor de CentOS.

      Paso 3: Iniciar sesión en su servidor de CentOS usando claves de SSH

      Si completó con éxito uno de los procedimientos anteriores, ahora debería poder iniciar sesión en el host remoto sin la contraseña de la cuenta remota.

      El proceso inicial es igual al de la autenticación basada en contraseña:

      Si es la primera vez que establece conexión con este host (si empleó el último método anterior), es posible que vea algo como esto:

      Output

      The authenticity of host '203.0.113.1 (203.0.113.1)' can't be established. ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe. Are you sure you want to continue connecting (yes/no)? yes

      Esto significa que su computadora local no reconoce el host remoto. Escriba yes y presione ENTER para continuar.

      Si no proporcionó una frase de contraseña al crear su par de claves en el paso 1, se iniciará la sesión de inmediato. Si proporcionó una frase de contraseña, se solicitará que la introduzca ahora. Después de la autenticación, se debería abrir una nueva sesión de shell con la cuenta configurada en el servidor de CentOS.

      Si la autenticación basada en claves se realizó con éxito, puede aprender a proteger aún más su sistema inhabilitando la autenticación basada en contraseña de su servidor SSH.

      Paso 4: Inhabilitar la autenticación con contraseña en su servidor

      Si pudo iniciar sesión en su cuenta usando SSH sin una contraseña, habrá configurado con éxito la autenticación basada en claves de SSH para su cuenta. Sin embargo, su mecanismo de autenticación basado en contraseña sigue activo. Esto significa que su servidor sigue expuesto a ataques de fuerza bruta.

      Antes de completar los pasos de esta sección, asegúrese de tener configurada la autenticación basada en claves de SSH para la cuenta root en este servidor o, preferentemente, la autenticación basada en clave de SSH para una cuenta no root en este servidor con privilegios sudo. Con este paso, se bloquearán los registros basados en contraseñas. Por lo tanto, es fundamental que se asegure de seguir teniendo acceso administrativo.

      Una vez que haya confirmado que su cuenta remota tiene privilegios administrativos, inicie sesión en su servidor remoto con claves de SSH, ya sea como root o con una cuenta con privilegios sudo. Luego, abra el archivo de configuración del demonio de SSH:

      • sudo vi /etc/ssh/sshd_config

      Dentro del archivo, busque una directiva llamada PasswordAuthentication. Puede introducir comentarios con un hash #. Presione i para implementar vi en modo de inserción, y luego elimine los comentarios de la línea y fije el valor en no. Esto inhabilitará su capacidad para iniciar sesión a través de SSH usando contraseñas de cuenta:

      /etc/ssh/sshd_config

      ...
      PasswordAuthentication no
      ...
      

      Cuando termine de realizar cambios, presione ESC y luego :wq para ingrear los cambios en el archivo y cierre la directiva. Para implementar realmente estos cambios, debemos reiniciar el servicio sshd:

      • sudo systemctl restart sshd

      Como medida de precaución, abra una nueva ventana de terminal y compruebe que el servicio de SSH funcione correctamente antes de cerrar su sesión actual:

      Una vez que haya verificado que su servicio de SSH sigue funcionando correctamente, podrá cerrar de forma segura todas las sesiones de los servidores actuales.

      El demonio de SSH de su servidor de CentOS ahora solo responderá a claves de SSH. La autenticación basada en contraseña se habrá desactivado con éxito.

      Conclusión

      De esta manera, la autenticación basada en claves de SSH debería quedar configurada en su servidor. Esto le permitirá iniciar sesión sin proporcionar una contraseña de cuenta.

      Si desea obtener más información sobre cómo trabajar con SSH, consulte nuestra Guía de aspectos básicos de SSH.



      Source link