Crear usuario y configurar conexión por ssh (digital ocean)
Una vez que has creado tu Droplets, digital ocean te enviara un correo con los datos necesarios para autenticarte en tu servidor
en mi caso tengo los siguientes datos en mi correo
Nombre de Droplet: ubuntu18
Dirección IP: 142.93.126.226
Nombre de usuario: root
Contraseña: aad92cf31b13dbe32c2e59d622
abrimos la terminal para conectarnos al servidor via ssh si estas en windows puedes usar Putty o Cygwin ya que la terminal de windows es muy limitado.
Una vez que damos enter nos preguntará si queremos continuar confirmamos yes a continuación nos pedirá la contraseña copiamos y pegamos la contraseña que nos envió al correo también nos pedirá cambiar la contraseña volvemos a pegar la contraseña actual y después ponemos una nueva contraseña con esto ya podremos entrar al servidor.
Digital Ocean nos provee un usuario root lo cual es igual a un usuario administrador con privilegios amplios sin embargo no es recomendable trabajar con este usuario root por cuestiones de seguridad, para crear un nuevo usuario corremos el comando adduser y el nombre del usuario como se vé a continuación
adduser usuario
nos preguntaran algunos detalles comenzando con la contraseña ponemos una contraseña segura y algunos detalles más, en este caso solo ponemos una contraseña y todo lo demás damos enter
con eso ya tenemos un usuario creado pero este usuario solo tiene permisos regulares está limitado para ejecutar algunas tareas , tendríamos que cerrar sesión e iniciar como administrador ósea como root, para solucionar este inconveniente daremos permiso al usuario creado anteriormente en este caso a (usuario) con esto va poder ejecutar sobreponiendo sudo delante del comando que se quiere ejecutar, para dar este permiso ocupamos el siguiente comando usermod -aG sudo nombreUsuario de la siguiente manera
usermod -aG sudo usuario
con esto nuestro usuario ya tiene permiso para ejecutar tareas de un administrador root pero siempre anteponiendo sudo antes del comando que se quiere ejecutar, bien vamos a cerrar conexión con exit
e iniciar conexión con el usuario que creamos de la siguiente manera
y la contraseña que pusimos al crear el usuario y listo
Configurar conexión por ssh
para esto lo primero que necesitamos es generar un par de llaves en nuestra maquina local de la siguiente manera
ssh-keygen
en mi caso ya tenía generado las llaves, de todas maneras, lo puedes sobre escribir o dejarlo ahí de igual manera funcionara lo importante es que tengas, si miramos la imagen veremos el directorio /home/alfredo/.ssh/id_rsa.
en el que se creó dos archivos vamos navegar a dicho directorio y mostrar el contenido con ls
dentro de /home/alfredo/.ssh
los dos archivos importantes que necesitamos son id_rsa y id_rsa.pub una llave publica y una llave privada, importante la llave privada solo debe tener el usuario que va tener acceso a dicho servidor de lo contrario si alguien más lo tiene podría conectarse a su servidor sin su permiso, ahora necesitamos copiar el valor que tiene la llave publica a nuestro servidor remoto en este caso al servidor de Digital Ocean, vamos hacerlo de la siguiente manera corremos cat ~/.ssh/id_rsa.pub
esto nos mostrara el valor de id_rsa.pub osea la llave publica
copiemos esta llave a algún lado para después copiarlo a nuestro servidor remoto
Para habilitar la conexión por ssh
necesitamos copiarlo esta llave al directorio principal del usuario para entender mejor vamos a iniciar sesión como root de la siguiente manera
una vez autenticado vamos cambiar de usuario al usuario con el que estamos trabajando con el comando su - nombreUsuario
en este caso
su - usuario
ahora vamos crear un archivo .ssh
restringida en el directorio principal del usuario
mkdir ~/.ssh
chmod 700 ~/.ssh
también vamos crear un archivo dentro del directorio .ssh con el nombre authorized_keys en el que vamos pegar la llave publica anteriormente copiada.
ejecutamos nano ~/.ssh/authorized_keys
esto nos abrirá un editor en la consola ahí pegamos la llave publica guardamos con control o
luego enter
y control x
para salir, también vamos darle permiso chmod 600 ~/.ssh/authorized_keys
y salimos con exit
ahora ya podemos autenticarnos con ssh.