• Saltar al contenido principal
  • Saltar a la barra lateral principal
  • Saltar al pie de página
  • Cachivaches
  • Ubuntu
  • Servicios en la nube
  • Raspberry Pi
  • ¿Preguntas?
    • ¿Quieres hablar?

Kacharreando

Kacharreando desde antes que montara este blog

Hosting Estupendos baratos

Configurar el servidor en autologin con ssh sin usar pasword

mayo 20, 2018 Deja un comentario

Acceso Autologin en SSH

Por fin has contratado el hosting de RamNode para empezar a configurar tu servidor privado virtual y utilizarlo para lo que quieras.

En un rato te va a llegar la clave de root y la IP del servidor que te han asignado. Podrás empezar a trastear con todas las ideas que quieras implementar.

Tendrás que conectarte al servidor por SSH y configurar la conexión para que nadie pueda acceder y hacer lo que quiera con tu servidor. Será una de las distintas medidas de seguridad que utilizaremos.

Conectarse al servidor

Una vez que hayas recibido el correo, solo necesitas introducir en la consola el siguiente comando:

ssh root@1.2.3.4

Tendrás que cambiar 1.2.3.4 por la IP que te han dado de tu servidor.

Una vez que hayas accedido, lo primero que es necesario realizar es crear una cuenta de usuario. Esto debes hacerlo porque permitir el acceso a la cuenta root (superusuario que todo puede hacerlo) desde el exterior aunque sea SSH, es una práctica que conlleva muchos riesgos, así que preparamos crear una que sea un usuario normal.

Vamos a suponer que llamamos al nuevo usuario nuevouser, pues ejecutamos en la consola el siguiente comando:

adduser nuevouser

Para el nuevo usuario te pedirá una contraseña y algunos datos más que podrás responder fácilmente.

Para finalizar desde el usuario root crearemos el directorio para luego copiar las claves que generemos y cambiamos los permisos. En la consola escribiríamos:

mkdir /home/nuevouser/.ssh
chmod 700 /home/nuevouser/.ssh

Con esto ya tendríamos listo el nuevo usuario y saldríamos del servidor para generar las claves y copiarlas.

Crear claves RSA

Cuando accedes por SSH lo que menos te apetece es recordar la clave, o buscarla donde la has apuntado, por lo tanto vamos a genera un par de claves RSA, y así no hará falta que nos acordemos de la clave, eso sí, accederemos con nuestro usuario recién creado.

De esta manera aumentamos la seguridad restringiendo el acceso por SSH al usuario root, y luego dentro del servidor podremos cambiarnos a root para las tareas que necesitemos. Sin esta clave privada RSA nadie podrá acceder a nuestro servidor y la seguridad será máxima. Recuerda que este fichero se guarda en tu ordenador.

Así que desde la consola de tu ordenador en linux ejecuta el siguiente comando:

ssh-keygen -b 4096 -t rsa

Nos aparecerá la pregunta de si queremos una passphrase, y para nosotros lo más sencillo será decirle que no. Si queremos que tenga passphrase, te recomiendo usar el nombre del host+key (por ejemplo si tu máquina se llama «Orion», tu clave se podría llarma OrionKey). Si le pones passphrase entonces perderás el acceso autómatico que te permite este sistema.

Con este comando crearemos en el directorio .ssh (directorio oculto que está en la home de nuestro usuario), un par de ficheros que tendrán los nombres id_rsa e id_rsa.pub. El fichero id_rsa.pub es el que vamos a copiar al servidor.

NOTA: Si van a acceder varias personas a tu servidor, es recomendable crear una clave por cada usuario que acceda.

Para copiar el fichero creado ejecutamos en la consola de nuestro ordenador el siguiente comando (si estas en la home de tu usuario):

scp .ssh/id_rsa.pub root@1.2.3.4:/home/nuevouser/.ssh

Como anteriormente tendrás que cambiar la contraseña 1.2.3.4 por la IP que tengas en tu servidor, y nuevouser por el nombre de usuario que hayas elegido. En este caso te pedirá la contraseña de root (la que has recibido por correo) y copiará el fichero que has creado al directorio /home/nuevouser/.ssh.

El siguiente paso es cambiar el nombre al richero que hemos creado cambiar los permisos del archivo y cambiar el propietario al archivo. Para esto tendremos que acceder a nuestro servidor como root y ejecutar los siguientes comandos:

cat /home/nuevouser/.ssh/id_rsa.pub >> /home/nuevouser/.ssh/authorized_keys
chmod 644 /home/nuevouser/.ssh/authorized_keys
chown nuevouser:nuevouser /home/nuevouser -R

Una vez que tenemos esto hecho, podemos salir del servidor y acceder usando el nuevouser y sin meter la contraseña (teniendo en cuenta que solo podrás acceder que tenga el fichero id_rsa que acabamos de generar, para acceder desde otro dispositivo tendremos que copiar este fichero).

Antes de salir del servidor vamos a configurar los parámetros de configuración de SSH, para prohibir el acceso root y exigir que solo quien tenga la clave privada que corresponda a una de las claves públicas que hayamos generado en el servidor.

La configuración de SSH está en el fichero sshd_config y lo editaremos con el siguiente comando:

nano /etc/ssh/sshd_config

Aquí nos aparecerán una serie de opciones que tendremos que cambiar:

  • Port: 24245. Cambiarías las conexiones por defecto del acceso SSH, así evitarías que bots automáticos vayan directamente a este puerto a probar accesos.
  • PermitRootLogin: no. De esta manera no aceptaremos accesos de root aunque tenga la contraseña o la clave criptográfica RSA y así nos protegeremos de ataques de fuerza bruta a este usuario que siempre existirá en nuestro servidor.
  • PermitEmptyPasswords: no. Aunque ya viene por defecto así, nos aseguramos de que está así ya que es una medida de seguridad importante.
  • LoginGraceTime: 30. Con esta opción estableceremos el tiempo necesario para que se pueda introducir la contraseña, así evitaremos que el atacante tenga que «pensar mucho».
  • MaxAuthTries: 3. Este será el número de intentos que vamos a permitir para introducir una contraseña antes de que nos desconecte el servidor.
  • MaxStartups: 3. Esta opción nos permite definir el número de logins simultáneos desde una IP, así nuestro atacante no podrá utilizar la fuerza bruta con varias sesiones a la vez.
  • AllowUsers: esta opción nos permitirá crear una lista blanca de usuarios que pueden acceder por ssh. Así podremos permitir solo a unos pocos usuarios que puedan acceder a nuestro servidor y evitaremos cualquier conexión de otros usuarios que no estén en el listado.
  • DenyUsers: Aunque parezca que una vez que hemos configurado el apartado anterior, este simplemente nos sirve para hacer un bloqueo a cualquier conexión que intente hacerse con algún usuario de esta lista. Si no tenemos configurado AllowUsers, a esta lista no permitirá conectarse y al resto si.
  • AllowGroups/DenyUsers: lo mismo que las opciones anteriores, pero en lugar de que sean usuarios tendremos una lista blanca/negra para los grupos de usuarios.

Una vez que hemos escrito la configuración en el archivo de ssh, guardamos con Ctrl+O ENTER y luego salimos con Ctrl+X. Con esto ya tendremos una protección razonable frente a hacker de medio pelo que con programas automáticos intentan entrar en nuestro servidor.

Antes de cerrar la sesión que tenemos abierta en nuestro servidor vamos a verificar que todo está correcto y que podemos conectarnos sin problemas. Así que abrimos otra terminal y en la de nuestro servidor escribimos lo siguiente:

service ssh restart

Y en la otra terminal que hemos abierto tratamos de ver si podemos acceder sin problemas y sin que nos pida la contraseña:

ssh nuevousuario@1.2.3.4

Con esto deberías acceder a tu servidor sin necesidad de usar contraseña, y con la clave privada que hemos generada. Recuerda que a partir de ahora, ya sea porque instalas de nuevo, o la razón que sea, es vital que guardes una copia de tu directorio y de todas las claves que hayas generado y se las hayas pasado a otros usuarios. Si pierdes estas claves, perderás el acceso al servidor y tendrás que reinstalar todo de nuevo.

Conclusión

Con todos estos pasos ya tendríamos preparado nuestro servidor para acceder a el sin necesidad de password y con el añadido de cierta seguridad de cara a posibles atacantes.

He probado estos mismos pasos en un servidor con debian 8.0, y en el proceso algo no ha salido bien.

Mis propios manuales me gusta probarlos en mis carnes, y al realizar todos los pasos el servidor no coge la clave, y solo puedo conectarme por usuario y clave, obteniendo el siguiente mensaje:

sign_and_send_pubkey: signing failed: agent refused operation

Probablemente algún detalle se me haya escapado, pero después de buscar por internet no he conseguido encontrar la solución.

Espero que a ti te funcione y nos vemos en el siguiente manual.

Publicado en: Servicios en la nube

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Barra lateral principal

Descubre Más

Generar documentación para los scripts de bash

Generar documentación para los scripts de bash

julio 1, 2022

Drawing edita imágenes de manera sencilla

Instalar drawing con soporte Webp

enero 20, 2022

Primeros pasos con tus finanzas personales con Beancount

Primeros pasos para controlar tus finanzas con Beancount

noviembre 29, 2021

Placa impresa pcb roja

How to root Galaxy Tab 2 10.1 in linux with heimdall

octubre 15, 2021

Tags

Beginner Comienzo Expert Intermediate Markdown

Footer

Temas de Kacharreo

Supongo que habrás llegado hasta aquí porque eres un culo inquieto, o simplemente tienes curiosidad por algún tema.

Hasta que tu mente no se queda extasiada resolviendo aquello que no te deja dormir no has parado.

Vas a encontrar temas sobre Ubuntu, Cachivaches que hacen cosas, Servicios en la Nube que puedes aprovechar, y temas sobre Rasberry Pi. Hasta es posible que a veces introduzca temas relacionados.

Todo es posible.

Vaya comentarios!!

  • luidelkacha en Instalar y configurar un proxy http en Ubuntu con Squid – Mega Guía
  • Pichibw en Instalar y configurar un proxy http en Ubuntu con Squid – Mega Guía
  • luidelkacha en Un potente editor de texto para nuestro sistema operativo Ubuntu

Canal en Telegram

telegram-iconSíguenos en Telegram

Buscar las llaves

Temas Dispersos

Beginner Comienzo Expert Intermediate Markdown

Creative Commons Atribución -CompartirIgual 4.0 Internacional pa las tontás que publico © 2025 · Acceder
Aviso Legal y Política de Privacidad | Política de Cookies

Gestionar el Consentimiento de las Cookies
Utilizamos cookies para optimizar nuestro sitio web y nuestro servicio.
Funcional Siempre activo
El almacenamiento o acceso técnico es estrictamente necesario para el propósito legítimo de permitir el uso de un servicio específico explícitamente solicitado por el abonado o usuario, o con el único propósito de llevar a cabo la transmisión de una comunicación a través de una red de comunicaciones electrónicas.
Preferencias
El almacenamiento o acceso técnico es necesario para la finalidad legítima de almacenar preferencias no solicitadas por el abonado o usuario.
Estadísticas
El almacenamiento o acceso técnico que es utilizado exclusivamente con fines estadísticos. El almacenamiento o acceso técnico que es utilizado exclusivamente con fines estadísticos anónimos. Sin una requerimiento, el cumplimiento voluntario por parte de su proveedor de servicios de Internet, o los registros adicionales de un tercero, la información almacenada o recuperada sólo para este propósito no se puede utilizar para identificarlo.
Marketing
El almacenamiento o acceso técnico es necesario para crear perfiles de usuario para enviar publicidad, o para rastrear al usuario en un sitio web o en varios sitios web con fines de marketing similares.
Administrar opciones Gestionar los servicios Gestionar {vendor_count} proveedores Leer más sobre estos propósitos
Ver preferencias
{title} {title} {title}