AnuncioEsta guía está destinada a deshabilitar el inicio de sesión SSH basado en contraseña para el usuario raíz y crear una autenticación SSH basada en archivos de identidad como AWS, HP Cloud proporciona una manera de iniciar sesión. Si está utilizando VPSDime, tendrá la opción mientras reinstale SO. Aún así, muchos de los servidores web ofrecen inicio de sesión SSH utilizando la cuenta de usuario raíz. Esto supone un riesgo para la seguridad, ya que cualquier atacante puede adivinar fácilmente la raíz del nombre de usuario y ejecutar un ataque basado en diccionario. Los atacantes pueden iniciar sesión utilizando la cuenta raíz utilizando diferentes tipos de métodos. Definitivamente, el uso de fail2ban reduce el riesgo, pero por múltiples razones necesitamos habilitar este sistema de inicio de sesión basado en claves. Necesitamos realizar algunos pasos para poder iniciar sesión en una cuenta de usuario no root que pertenezca al grupo sudoers utilizando un sistema de identificación basado en certificados. Después de iniciar sesión correctamente, debemos ejecutar el comando sudo su para obtener el privilegio de root. Cree un usuario no root y deshabilite el inicio de sesión SSH del usuario root SSH como usuario root y agregue un nuevo usuario con el comando: nombre-ejemplo es un ejemplo. Puede reemplazar nuevo usuario con cualquier nombre de usuario que desee. Puede ser harry, joe, krishna, etc. El comando adduser crea un nuevo usuario, además de un grupo y un directorio de inicio para ese usuario. Después de ejecutar este comando, se le pedirá una contraseña y algunas preguntas. Es posible que reciba un mensaje de error indicando que no tiene privilegios suficientes. (Esto normalmente sólo sucede para usuarios que no son root). El sistema agregará el nuevo usuario; y luego le pedirá que ingrese una contraseña. Ingrese una contraseña segura y luego vuelva a escribirla para confirmar. Puede conectarse mediante SSH al servidor con este nombre de usuario y contraseña, pero no obtendrá el privilegio de root. Por esa razón, tenemos que agregar el nuevo usuario al grupo sudoers: usermod -aG sudo nombre-ejemplousermod -aG sudo nombre-ejemplo Ahora, abra una nueva ventana de terminal e intente realizar SSH con este nombre de usuario. Después de iniciar sesión, escriba sudo su y verifique si puede ejecutar comandos como el usuario root. Si puede, pase al siguiente paso. Abra el archivo de configuración SSH mientras está conectado como este usuario. No mantenga abierta ninguna sesión SSH desde la cuenta de usuario raíz: nano /etc/ssh/sshd_confignano /etc/ssh/sshd_configBusque la línea PermitRootLogin y configúrela en no; normalmente, esta es la última línea del archivo: … PermitRootLogin no… reinicie el servicio: ahora no podrá utilizar SSH como usuario root. Esto es seguro pero haremos que el sistema sea más seguro. Configure el inicio de sesión SSH con el inicio de sesión de archivo clave como este usuario recién creado y ejecute sudo su para obtener privilegios de root. No ejecute estos comandos como usuario root. Ejecute estos comandos: mkdir -p ~/.ssh/pem cd ~/.ssh/pem ssh-keygen -b 2048 -f identidad -t rsamkdir -p ~/.ssh/pemcd ~/.ssh/pemssh-keygen -b 2048 -f identidad -t rsa No funciona como usuario root. La captura de pantalla anterior se tomó para evitar mostrar el nombre de usuario. Presione la tecla Enter para dejar la contraseña vacía. Generará 2 archivos en pem dir (identidad e identidad.pub). Copie el contenido de la clave pública en claves_autorizadas: cat identidad.pub >> ~/.ssh/claves_autorizadascat identidad.pub >> ~/.ssh/claves_autorizadas Ejecute un comando cat en claves_autorizadas para verificar el contenido. Ahora ejecute cat en la clave privada: este es el archivo que usará para conectarse mediante SSH al servidor. No lo pierdas. Resalte el contenido con el mouse y cópielo. Péguelo en el nuevo archivo de texto de su computadora local (guárdelo como nombre.pem, el nombre puede ser el que desee). Guarde una copia en su esencia privada de GitHub, Dropbox Cloud, etc. como copia de seguridad. Por ejemplo, guardé el archivo llamado name.pem en la computadora desde donde conectaré SSH a este servidor. Establezca permiso para el archivo PEM en su copia local: Primero pruebe si puede usar SSH con esta clave para iniciar sesión: ssh -i nombre.pem nombre-ejemplo@servidor-ipssh -i nombre.pem nombre-ejemplo@ip-servidorLe preguntará usted para una contraseña. El siguiente paso es arriesgado para la implementación por primera vez, ya que puede perder el acceso SSH. Entonces, conecte SSH a su servidor desde otras dos pantallas bash. Siempre hay una manera para que los administradores de sistemas que se encuentran en el centro de datos utilicen SSH en cualquier situación, pero eso consumirá tiempo. Deshabilite la autenticación basada en contraseña: nano /etc/ssh/sshd_confignano /etc/ssh/sshd_configActualice PasswordAuthentication de “sí” a “no” como se muestra a continuación: … # Cambie a no para deshabilitar las contraseñas de texto claro tunelizadas. PasswordAuthentication no… …# Cambie a no para deshabilitar las contraseñas de texto claro tunelizadasContraseñaAutenticación no…Reiniciar el servidor SSH:No cierre ninguna sesión SSH. Abra una nueva pantalla bash en su computadora local y ejecute el comando de inicio de sesión SSH en este formato: ssh -i nombre.pem nombre-ejemplo@servidor-ipssh -i nombre.pem nombre-ejemplo@ip-servidor Puede enfrentar este tipo de error: Permiso denegado (clave pública). Permiso denegado (clave pública). Eso suele estar relacionado con algún error al seguir los pasos.

Source link