En este post mostrare como conectarse a un servidor nuevo vía ssh con las mejores prácticas. Parte 1 - Ten todos tus datos a la mano Lo primero es tener los datos que vas a utilizar a la mano, como dirección IP del equipo, usuario, contraseña (que introdujiste al instalar el servidor) y el cliente SSH que utilizaras. En este caso voy a utilizar Putty como mi cliente para la conexión, me gusta este programa porque permite guardar sesiones y private-key. Para utilizar la llave privada de SSH necesitaremos convertir el archivo en formato ppk y para eso necesitaremos también el programa Puttygen que lo conseguiremos en la misma página de Putty. Parte 2 – Inicia sesión Abre el programa Putty y coloca la IP del dispositivo o el nombre del Server y haz click en“open”. Se va a abrir una ventana preguntando sobre si aceptas el nuevo Host, acepta el menaje y te aparecerá un terminal preguntando por usuario y contraseña, introduce los datos y ya estarás adentro del equipo. Lo primero que vas a querer hacer es cambiar la clave del root passwd root Te pedirá que coloques la contraseña dos veces, asegúrate de usar una contraseña fuerte que puedas recordar, de todos modos, vamos a deshabilitar el usuario root para iniciar sesión más adelante, pero debemos saber la contraseña para comandos sudo. Parte 3 – Crea un nuevo usuario Te recomiendo que crees un nuevo usuario para conexiones SSH y que este sea el único que pueda conectarse al equipo por esta vía. Todas las maquinas Linux tienen como usuario por defecto al root y una de las primeras líneas de defensas es crear un usuario para conexiones remotas y darle los mismos privilegios y luego deshabilitar al root para iniciar sesión vía remota. Para crear un nuevo usuario solo debes usar el siguiente comando adduser seguido del nombre del usuario, en mi caso será sshescalona. adduser sshescalona Este comando te pedirá que crees una contraseña para el nuevo usuario y algunos datos adicionales del usuario si lo deseas. Ahora debes darle el privilegio del sudo. usermod -aG sudo sshescalona Ahora este nuevo usuario podrá ejecutar comandos sudo como administrador. Parte 4 – Crear claves privadas Ahora creemos nuestro par de claves pública y privada. La clave pública vive en el servidor, y la clave privada se usará para desbloquear el acceso desde cualquier dispositivo que lo necesite. ssh-keygen Cuando se le pregunte dónde colocar el archivo, tome el valor predeterminado. Puede elegir si desea ingresar o no una frase de contraseña: tener una frase de contraseña significa que necesita tanto la clave privada como la frase de contraseña para obtener acceso. Proporciona una capa adicional de seguridad. Una vez que se hayan creado sus claves, las encontrará en /home/root/.ssh: debe haber archivos id_rsa (clave privada) e id_rsa.pub (clave pública) en ese directorio. A continuación, debemos copiar esa clave en la cuenta del usuario recién creado: | ssh-copy-id sshescalona@[ip del servidor] Elija "Yes" cuando se le pregunte si desea continuar e ingrese la contraseña de sshescalona cuando se le solicite. Este comando copiará la clave pública al directorio ~ / .ssh del usuario de sshescalona como un archivo de claves autorizadas. Ahora puede usar la clave privada para autenticarse con este servidor como usuario sshescalona. Parte 5 – Modificar configuración de SSH El siguiente paso es modificar la configuración de SSH para desactivar el acceso de usuario root y la autenticación de contraseña. Comience editando el archivo de configuración SSH: nano -w /etc/ssh/sshd_config Comienza cambiando el Puerto por defecto de SSH de 22 a cualquiera que no sea estándar, consigue la línea que dice #port 22 Y cámbiala a Port [Puerto diferente] Puedes cambiarlo a cualquier número de puerto como por ejemplo 2222, ahora baja un poco y consigue la línea que dice: PermitRootLogin yes Cambia el “Yes” a “No” esto deshabilitar al root para iniciar sesión con ssh, ahora baja un poco mas y busca la siguiente línea #PasswordAuthentication yes Remueve el # y cambia el “yes” a “no” esto desactiva la autenticación por contraseña (La autenticación por llave privada debería estar habilitada, lo puedes verificar buscando la línea PubkeyAuthentication y verifica que este en “yes”) Presiona CTRL+X seguido de “Y” y enter para guardar y salir. Reinicia el servicio systemctl reload sshd PARTE 6 - Descarga la llave privada Ahora necesitamos descargar nuestra llave privada, primero veamos lo que aparece en nuestro documento id_rsa cat ~/.ssh/id_rsa Selecciona y copia todo el texto y pegalo en un nuevo block de notas y guarda el archivo en un lugar seguro, una vez guardado el archivo puedes eliminarlo del servidor con el siguiente comando rm ~/.ssh/id_rsa PARTE 7 - Convierte la llave privada a formato PuTTY Antes de que pueda usar su clave privada con PuTTY, debe convertirla al formato .PPK. Para hacer esto, utilizaremos otro programa gratuito de los creadores de PuTTY llamado PuTTYgen (puede descargarlo desde el mismo enlace que PuTTY arriba). Primero, ejecute PuTTYgen y haga clic en el botón "Cargar". Busque el archivo de clave privada que guardó en el paso 6. Cuando busque su clave privada, cambie el tipo de archivo que está buscando de 'Archivos de clave privada PuTTY (* .ppk)' a 'Todos los archivos (*. *). 'Abra su archivo de clave privada, y debería recibir un aviso de que la clave privada se importó correctamente. Haga clic en Aceptar para salir de esta notificación. Ahora, haga clic en el botón "Guardar clave privada" y guarde su clave privada como un archivo .ppk (generalmente solo uso el mismo directorio que usé para guardar la clave privada original). Ahora puede cerrar PuTTYgen. PARTE 8 - Inicia sesión con el nuevo usuario Inicia una nueva sesión de PuTTY, en la nueva sesión colocas la IP del servidor y el puerto a numero que cambiaste en el paso 5 Luego, en el menú de la izquierda, expanda la sección "SSH" debajo de "Conexión", luego haga clic en "Auth." Aquí verá un lugar para buscar su archivo de clave privada PuTTY .PPK. Haga clic en "Examinar ..." y busque el archivo .PPK que creamos en la Parte 7. Una vez que haya cargado el archivo, vuelva a hacer clic en "Sesión" en la parte superior del menú de la izquierda. Si desea GUARDAR estos detalles de conexión, ahora debe ingresar un nombre descriptivo en el cuadro "Sesiones guardadas" y hacer clic en el botón "Guardar".
Ahora haga clic en "Abrir" y debería recibir un mensaje "Iniciar sesión como:". Ingrese el nombre del usuario que creó en la Parte 3 (en nuestro caso, fue sshescalona) y ahora debe conectarse al servidor. Si tiene una frase de contraseña en su clave privada, también se le solicitará esa frase de contraseña. Ya tenemos una conexión segura ssh desde nuestro equipo con claves privadas ssh y el root deshabilitado, para aumentar la seguridad podemos trabajar un poco con las reglas de Firewall pero eso lo haremos en otro post.
3 Comentarios
Juan Contreras
23/5/2020 03:56:58 pm
Excelente información, gracias por tu ayuda
Responder
Hazly Riera
31/5/2020 04:59:33 pm
Justo lo que estaba buscando, será de gran ayuda para mí laboratorio.
Responder
12/10/2022 09:20:06 am
Trial hot may message. They debate middle yourself.
Responder
Deja una respuesta. |
Details
AutorMi nombre es Fabian Escalona soy un ingeniero en redes y comunicaciones, cree este blog como un proyecto personal para compartir conocimiento y proyectos que desarrollo en mi trabajo diariamente, acá encontraras post sobre tecnologías, herramientas, opiniones y utilidades que he usado. CategorÃas |