Crear usuario y configurar conexión por ssh (digital ocean)

in #spanish6 years ago (edited)

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. 

ssh root@142.93.126.226 

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 

ssh usuario@142.93.126.226 

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

  ssh root@142.93.126.226 

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.