Migrar a producción en vps proyecto laravel y configurando dominio, sub dominios, Certificados SSL Parte 1. Configurando usuario via ssh
Si vamos al panel de digital ocean podemos ver la ip del droples que creamos anteriormente para iniciar sesion copiamos ese ip, ahora en nuestra terminal ocupamos el usuario root con la ip y las llaves generadas anteriormente de la siguiente manera.
ssh [email protected] -i /home/alfredo/.ssh/laravelapp
Nos authenticamos al servidor remoto esto nos permite confirmar damos yes
Ten en cuenta que ocupamos la llave que no tiene .put
porque este es la llave privada que no debemos compartir. Ahora por razones de seguridad no se recomienda trabajar directamente con el usuario root
por lo que crearemos un usuario
adduser miusuarioenubuntu
este usuario se creó en el directorio /home
para verlo ll /home/
(deluser y nombreusuario para eliminar dicho usuario) este usuario no tiene permisos vamos a darle permiso de sudo y haci interactuar con el sistema. adduser miusuarioenubuntu sudo
Para acceder con el nuevo usuario que creamos necesitamos generar llave ssh en nuestra maquina local generamos con ssh-keygen
que lo voy a guardar en(/home/alfredo/.ssh/id_rsa): /home/alfredo/.ssh/blogaf
una vez generado mostramos la llave con cat ~/.ssh/blogaf.pub
para despues copiar y pegar en nuestro servidor remoto a la que entramos como root y navegamos al directorio del usuario al que le vamos a permitir entrar con ssh en este caso cd /home/miusuarioenubuntu
ahi creamos una carpeta oculta con mkdir .ssh
dentro creamos un archivo touch authorized_keys
en la que pegamos la llave publica guardamos y salimos del servidor remoto exit
y intentamos inicial sesion con dicho usuario ssh [email protected] -i /home/alfredo/.ssh/blogaf
ahora podemos authenticarnos con el usuario root y miusuarioenubuntu sin embargo es recomendable desactivar el usuario root por temas de seguridad para lo cual entramos al servidor y abrimos el archivo si entraste con el usuario normal es necesario anteponer sudo sudo nano /etc/ssh/sshd_config
en el archivo cambiamos la linea que dice PermitRootLogin yes
ponemos a PermitRootLogin no
despues de esto guardamos y recargamos el servicio para que surtan efectos de configuración con sudo systemctl reload ssh.service
y salimos del servidor ahora si intentamos authenticarnos con root ya nos bloquea.
Adicional a esto tenemos dos inconvenientes una el servidor se cierra cada 5 minutos cuando no hacemos ningún movimiento y la otra es que es un poco molesto al iniciar sesion poner el usuario la ip y cargar la llave, bueno para esto navegamos en nuestra maquina local al directorio cd ~/.ssh
en el que creamos un archivo nano config
en el que pegamos el siguiente código
ServerAliveInterval 120
ServerAliveCountMax 3
Host carlos
HostName 157.245.169.85
User miusuarioenubuntu
IdentityFile \home\alfredo\.ssh\blogaf
las dos primeras linas solucionan el primer problema y el resto el segundo. Ahora podriamos iniciar sesion de la siguiente manera ssh carlos
y el HostName
hace referencia a la ip del servidor User
al usuario que creamos dentro del servidor y IdentifyFile
a la ubicación de la llave.
Congratulations @afernandez878! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Vote for @Steemitboard as a witness to get one more award and increased upvotes!