0 00:00:00,000 --> 00:00:05,000 buenos días chicos a ver en este vídeo lo que vamos a hacer es 1 00:00:05,000 --> 00:00:09,000 autenticarnos en un servidor ssh utilizando clave pública y clave 2 00:00:09,000 --> 00:00:13,000 privada será diferente lo que hemos visto hasta ahora que utilizamos el 3 00:00:13,000 --> 00:00:18,000 usuario y contraseña. Lo primero yo tengo una máquina Kali Linux que va a 4 00:00:18,000 --> 00:00:22,000 actuar como servidor y una máquina Ubuntu que va a actuar como cliente 5 00:00:22,000 --> 00:00:27,000 ambas máquinas las tengo en adaptador puente para que estén en la misma red 6 00:00:27,000 --> 00:00:32,000 que el sistema operativo anfitrión. Vamos a ver lo primero de todo que tiene 7 00:00:32,000 --> 00:00:36,000 conexión entre ellas tenemos aquí la máquina de Kali 8 00:00:36,000 --> 00:00:44,000 la ip 192.168.1.128 y la de Ubuntu en la 192.168.1.129 9 00:00:46,000 --> 00:00:50,000 192.168.1.128 10 00:00:50,000 --> 00:00:52,000 se ven entre ellas 11 00:00:52,000 --> 00:01:03,000 tenemos conexión, hay ping, perfecto todo. Lo primero de todo voy a activar el 12 00:01:03,000 --> 00:01:09,000 servidor ssh está por defecto con configuración por defecto y no lo toca 13 00:01:09,000 --> 00:01:16,000 entonces le inicio, me voy a dar la contraseña, ya sabéis que van a iniciar los servicios 14 00:01:16,000 --> 00:01:23,000 necesitaréis permisos de superusuario o administrador y ahí podemos ver cómo 15 00:01:23,000 --> 00:01:30,000 está corriendo y está tirando de sshd barra config que es el fichero que 16 00:01:30,000 --> 00:01:36,000 posteriormente modificaremos. Entonces yo aquí voy a intentar conectarme al servidor ssh 17 00:01:37,000 --> 00:01:45,000 como hemos hecho hasta ahora, con usuario y contraseña, le doy yes y ya estoy dentro 18 00:01:45,000 --> 00:01:52,000 ahora lo que voy a hacer, fijaros lo que voy a hacer, voy a entrar en cd etc ssh 19 00:01:52,000 --> 00:01:57,000 y aquí tenemos los ficheros de la configuración, en este caso yo voy a 20 00:01:57,000 --> 00:02:03,000 modificar sshd barra baja config, entonces también necesito permisos de 21 00:02:03,000 --> 00:02:10,000 superusuario, lo primero de todo fijaros que la mayoría de las líneas están 22 00:02:10,000 --> 00:02:15,000 comentadas a través de un anual, entonces lo primero que voy a cambiar 23 00:02:15,000 --> 00:02:21,000 ya sabéis que el puerto por defecto ssh es el puerto 22, pues yo voy a cambiarle al 2222 24 00:02:21,000 --> 00:02:30,000 los puertos menores de 1024 están reservados, el resto los podemos 25 00:02:30,000 --> 00:02:37,000 asignar, si yo bajo por aquí va a haber dos campos, este que por defecto está en yes 26 00:02:37,000 --> 00:02:43,000 que es authentication, que permite la autenticación por clave pública o clave privada 27 00:02:43,000 --> 00:02:48,000 y aquí hay otro que pone password authentication yes, que también está por 28 00:02:48,000 --> 00:02:58,000 defecto así, lo que voy a hacer para que veáis es ponerle a no, yo guardo y voy a 29 00:02:58,000 --> 00:03:09,000 armizar el servicio, lo podéis hacer con start, stop o con restart, ya lo tenemos 30 00:03:09,000 --> 00:03:14,000 entonces si yo a esta máquina intento conectarme ahora mismo, evidentemente me está diciendo 31 00:03:14,000 --> 00:03:20,000 que en el puerto 22 no hay nada escuchando, entonces tengo que indicarle el puerto 32 00:03:20,000 --> 00:03:26,000 en este caso será el 2222 que he puesto en la configuración, entonces ya ahora me está 33 00:03:26,000 --> 00:03:31,000 diciendo que el permiso es denegado, que tengo que loguearme con clave pública 34 00:03:31,000 --> 00:03:37,000 entonces yo lo que voy a hacer es volver a dejar la configuración como estaba 35 00:03:37,000 --> 00:03:44,000 el puerto lo voy a dejar pero voy a poner password authentication y lo voy a comentar 36 00:03:44,000 --> 00:03:50,000 lo guardo y vuelvo aquí, ahora lo que voy a hacer en la máquina cliente es generar 37 00:03:50,000 --> 00:03:55,000 un par de claves, no voy a utilizar el gpg voy a utilizar una funcionalidad que nos 38 00:03:55,000 --> 00:04:01,000 proporciona ssh que es ssh-key, yo voy a poner "-t", para indicar el algoritmo 39 00:04:01,000 --> 00:04:07,000 en este caso voy a utilizar rsa y "-b", para el tamaño de la clave, 1024 40 00:04:07,000 --> 00:04:16,000 ahora me dice que por defecto la clave pública y la clave privada se guardarán 41 00:04:16,000 --> 00:04:23,000 en el directorio home alumno.ssh que le va a crear un fichero que se llama id-rsa 42 00:04:23,000 --> 00:04:29,000 la clave privada y un fichero que se llama id-rsa.pub que es la clave pública 43 00:04:29,000 --> 00:04:33,000 yo no lo voy a utilizar porque quiero que veáis la diferencia entre varias claves 44 00:04:33,000 --> 00:04:37,000 entonces le voy a indicar un nombre para que me lo guarde en el directorio home 45 00:04:38,000 --> 00:04:46,000 yo le voy a llamar clave1, meto la parafrase o contraseña 46 00:04:50,000 --> 00:04:58,000 como hacíamos con gpg, ahora tengo aquí un fichero que se llama clave1 47 00:04:58,000 --> 00:05:06,000 que si hago un cat clave1 me sale una clave privada como posición en los mensajes de inicio final 48 00:05:06,000 --> 00:05:14,000 y si hago un cat clave1.pub esta es la clave pública 49 00:05:17,000 --> 00:05:23,000 voy a crear una segunda clave para posteriores pruebas de la misma forma 50 00:05:23,000 --> 00:05:27,000 voy a crear un fichero que se llama id-rsa1024 y envíe clave1 y se llame clave2 51 00:05:35,000 --> 00:05:41,000 ya tengo ahí las dos claves públicas y las dos claves privadas 52 00:05:41,000 --> 00:05:43,000 ¿cómo va a funcionar el sistema? 53 00:05:43,000 --> 00:05:49,000 el sistema va a funcionar que yo desde mi maquina de cliente voy a copiar mi clave pública al servidor 54 00:05:49,000 --> 00:05:53,000 y la va a alojar en un fichero que se llama authorize keys 55 00:05:53,000 --> 00:05:57,000 es decir, las claves autorizadas que se pueden loguear en mi sistema 56 00:05:57,000 --> 00:06:02,000 entonces nosotros desde la maquina ubuntu cuando hagamos login con nuestra clave privada 57 00:06:02,000 --> 00:06:08,000 lo que comprobará en el servidor es que existe esa clave pública asociada a esa clave privada 58 00:06:08,000 --> 00:06:18,000 lo primero que hacemos, como podéis ver yo me sigo loggeando con el puerto 59 00:06:18,000 --> 00:06:25,000 no me puedo loggear ahora mismo con usuario y password 60 00:06:25,000 --> 00:06:28,000 entonces voy a restaurar la configuración 61 00:06:28,000 --> 00:06:34,000 lo que pasa es que no he reiniciado el servidor, es muy importante reiniciar el servidor para que nos coja los cambios 62 00:06:34,000 --> 00:06:41,000 ahí vemos como me puedo conectar al servidor otra vez por contraseña y usuario 63 00:06:41,000 --> 00:06:43,000 entonces ¿por qué hago esto? 64 00:06:43,000 --> 00:06:48,000 porque lo que voy a hacer es copiar la clave pública al servidor 65 00:06:48,000 --> 00:06:53,000 para eso necesito la conexión en modo usuario y contraseña 66 00:06:53,000 --> 00:06:57,000 porque si no, no puedo hacerlo porque además el servidor no tiene ninguna clave ahora mismo 67 00:06:58,000 --> 00:07:06,000 voy a utilizar la funcionalidad que se llama sshcopyid-i para indicar que voy a mover una clave 68 00:07:06,000 --> 00:07:11,000 indico clave1.puff y ahora la información del servidor 69 00:07:11,000 --> 00:07:22,000 9268.1.128 y el puerto, en este caso si no hubiera modificado el puerto no tendría que hacer nada ya que estaría escuchando en el 22 70 00:07:23,000 --> 00:07:25,000 me pide la contraseña 71 00:07:25,000 --> 00:07:30,000 y ya veis aquí como un número de llaves añadidas una 72 00:07:30,000 --> 00:07:37,000 entonces si yo voy aquí, me hacen crear, estoy en el directorio home del usuario Kali 73 00:07:37,000 --> 00:07:43,000 según el s-la me ha creado una carpeta que se llama .ssh 74 00:07:43,000 --> 00:07:52,000 si yo hago un c.ssh, fijaros, tengo un fichero que se llama autoriceskeys 75 00:07:52,000 --> 00:07:57,000 entonces si hago un cat autoriceskeys fijaros que hay, es justo la clave pública 76 00:08:01,000 --> 00:08:04,000 que tengo en el lado cliente 77 00:08:05,000 --> 00:08:14,000 entonces ahora lo que vamos a hacer es cambiar la configuración del servidor para evitar la autenticación por usuario y contraseña 78 00:08:14,000 --> 00:08:18,000 y que lo hagamos por clave pública o clave privada 79 00:08:19,000 --> 00:08:22,000 entonces vuelvo a cd tc 80 00:08:22,000 --> 00:08:24,000 ssh 81 00:08:26,000 --> 00:08:28,000 sshdconfig 82 00:08:32,000 --> 00:08:37,000 uy sd perdón, no no, lo que voy a hacer es editar un fichero, no meterme en un directorio 83 00:08:37,000 --> 00:08:43,000 vale, entonces busco el publickey authentication, lo dejo por defecto en sí 84 00:08:44,000 --> 00:08:49,000 y el password authentication pues le descomento, digámoslo 85 00:08:49,000 --> 00:08:52,000 y le pongo guardo, vale, lo guardo 86 00:08:52,000 --> 00:08:55,000 vale, no tengo permisos de superusuario 87 00:08:57,000 --> 00:09:02,000 entonces voy a salir, voy a salir de aquí 88 00:09:02,000 --> 00:09:04,000 voy a salir de aquí 89 00:09:04,000 --> 00:09:09,000 vale, entonces voy a modificarlo 90 00:09:10,000 --> 00:09:14,000 password authentication, aquí está 91 00:09:14,000 --> 00:09:18,000 y ya lo tenemos, ya está, vale 92 00:09:18,000 --> 00:09:22,000 entonces ahora vamos a reiniciar el servidor 93 00:09:25,000 --> 00:09:27,000 vale, ya lo tenemos 94 00:09:27,000 --> 00:09:30,000 y ahora si vamos al lado cliente 95 00:09:30,000 --> 00:09:34,000 y me intento conectar con Kali 96 00:09:34,000 --> 00:09:36,000 fijaros que me dice 97 00:09:36,000 --> 00:09:41,000 que el permiso me ha dejado, que necesito una clave pública o una clave privada 98 00:09:41,000 --> 00:09:45,000 en este caso lo que quiere él es una clave privada, vale 99 00:09:45,000 --> 00:09:50,000 entonces si hago un "-i clave1", estoy indicando decir 100 00:09:50,000 --> 00:09:54,000 oye, me quiero conectar al servidor con esta clave privada 101 00:09:54,000 --> 00:09:58,000 y el servidor lo que hace es mirar si en su fichero de llaves autorizadas 102 00:09:58,000 --> 00:10:01,000 tiene dicha llave pública, ¿no? 103 00:10:01,000 --> 00:10:05,000 entonces fijaros, me pide la parafrase para clave1 104 00:10:06,000 --> 00:10:08,000 vale, y ya estoy dentro 105 00:10:08,000 --> 00:10:12,000 ya estoy en la máquina servidor 106 00:10:12,000 --> 00:10:15,000 si ahora por ejemplo yo intento hacer el logueado 107 00:10:15,000 --> 00:10:18,000 loguearme con clave2 108 00:10:18,000 --> 00:10:21,000 fijaros que me dice que no hay permiso, ¿por qué? 109 00:10:21,000 --> 00:10:24,000 porque esa clave no está en el lado del servidor 110 00:10:24,000 --> 00:10:27,000 por último comentaros que yo he hecho esta prueba 111 00:10:27,000 --> 00:10:30,000 creando en el directorio de juego clave1 y clave2 112 00:10:30,000 --> 00:10:34,000 pero lo que se suele hacer cuando se crea una nueva clave 113 00:10:35,000 --> 00:10:39,000 voy a poner rsa-b1024 114 00:10:39,000 --> 00:10:42,000 y aquí pues no voy a meter nada 115 00:10:42,000 --> 00:10:45,000 entonces si por defecto lo que os decía antes 116 00:10:45,000 --> 00:10:48,000 lo meten en el directorio .ssd, el directorio oculto 117 00:10:48,000 --> 00:10:51,000 y dentro de id barra baja rsa 118 00:10:56,000 --> 00:11:00,000 fijaros, ahora yo me meto un ls-la 119 00:11:00,000 --> 00:11:04,000 tengo aquí el directorio .ssh 120 00:11:06,000 --> 00:11:12,000 y aquí tenemos las dos, la clave privada y la clave pública 121 00:11:12,000 --> 00:11:17,000 entonces una vez hubiéramos pasado esta clave al lado del servidor 122 00:11:17,000 --> 00:11:20,000 lo que hubiera pasado es que directamente 123 00:11:20,000 --> 00:11:24,000 interpretaría que estas claves están en el .ssh 124 00:11:24,000 --> 00:11:27,000 y nos logaremos sin problemas 125 00:11:27,000 --> 00:11:30,000 no tendríamos que intentarlo 126 00:11:30,000 --> 00:11:33,000 pero no tendríamos que seleccionar la clave 127 00:11:33,000 --> 00:11:35,000 eso es todo chicos