Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
sad:ubuntu:p9 [2018/01/10 18:10] José Manuel Guallar |
sad:ubuntu:p9 [2019/01/04 13:18] (actual) |
||
---|---|---|---|
Línea 16: | Línea 16: | ||
* Crearemos una infraestructura clave SSH entre Ubuntu y Fedora. | * Crearemos una infraestructura clave SSH entre Ubuntu y Fedora. | ||
- | * Usaremos ssh-keygen para crear un par de claves privadas / públicas para el usuario estudiante en Ubunut. | + | * Usaremos ssh-keygen para crear un par de claves privadas / públicas para el usuario student en Ubuntu. |
* Colocaremos la clave pública en el servidor de Fedora en el directorio apropiado para el usuario estudiante. | * Colocaremos la clave pública en el servidor de Fedora en el directorio apropiado para el usuario estudiante. | ||
* Utilizaremos la clave privada de Ubuntu para autenticar e iniciar sesión en el servidor de Fedora como estudiante sin una contraseña. | * Utilizaremos la clave privada de Ubuntu para autenticar e iniciar sesión en el servidor de Fedora como estudiante sin una contraseña. | ||
* Utilizaremos la clave privada de Ubuntu para autenticar y ejecutar el comando contra el servidor de Fedora como estudiante sin una contraseña. | * Utilizaremos la clave privada de Ubuntu para autenticar y ejecutar el comando contra el servidor de Fedora como estudiante sin una contraseña. | ||
- | |||
====== Creamos el directorio .ssh ====== | ====== Creamos el directorio .ssh ====== | ||
Línea 36: | Línea 35: | ||
{{:sad:ubuntu:p9:01.png?400|}} | {{:sad:ubuntu:p9:01.png?400|}} | ||
- | Creamos el par de claves | + | ===== Creamos el par de claves ===== |
<code bash> | <code bash> | ||
student@ubuntu12:~$ cd .ssh | student@ubuntu12:~$ cd .ssh | ||
- | student@ubuntu12:~$ ssh-keygen -t rsa -b 4096 | + | student@ubuntu12:~/.ssh$ ssh-keygen -t rsa -b 4096 |
</code> | </code> | ||
Línea 53: | Línea 52: | ||
{{:sad:ubuntu:p9:02.png?400|}} | {{:sad:ubuntu:p9:02.png?400|}} | ||
- | Establecemos los permisos a las claves SSH | + | ====== Establecemos los permisos a las claves SSH ====== |
<code bash> | <code bash> | ||
- | student@ubuntu12:~/.ssh ls -l | + | student@ubuntu12:~/.ssh$ ls -l |
- | student@ubuntu12:~/.ssh chmod 600 * | + | student@ubuntu12:~/.ssh$ chmod 600 * |
</code> | </code> | ||
Línea 63: | Línea 62: | ||
<code bash> | <code bash> | ||
- | student@ubuntu12:~/.ssh ls -l | + | student@ubuntu12:~/.ssh$ ls -l |
- | student@ubuntu12:~/.ssh file id_rsa | + | student@ubuntu12:~/.ssh$ file id_rsa |
</code> | </code> | ||
Línea 70: | Línea 69: | ||
<code bash> | <code bash> | ||
- | student@ubuntu12:~/.ssh file id_rsa.pub | + | student@ubuntu12:~/.ssh$ file id_rsa.pub |
</code> | </code> | ||
Línea 94: | Línea 93: | ||
<code bash> | <code bash> | ||
- | yum update openssh-server | + | [root@fedora14 student]# yum update openssh-server |
- | yum install openssh-server | + | [root@fedora14 student]# yum install openssh-server |
</code> | </code> | ||
para ver si sshd esta corriendo | para ver si sshd esta corriendo | ||
<code bash> | <code bash> | ||
- | ps -eaf | grep sshd | grep -v grep | wc -l | + | [root@fedora14 student]# ps -eaf | grep sshd | grep -v grep | wc -l |
- | </code>[[sad:ubuntu:p1|UBUNTU PRACTICA 01]] | + | </code> |
si sale 0 es que no se está ejecutando | si sale 0 es que no se está ejecutando | ||
+ | |||
si sale 1 es que se está ejecutando, pincha en este enlace [[sad:ubuntu:p9#creamos_el_directorio_ssh1|Pincha aqui si sale 1]] | si sale 1 es que se está ejecutando, pincha en este enlace [[sad:ubuntu:p9#creamos_el_directorio_ssh1|Pincha aqui si sale 1]] | ||
+ | |||
¿Por qué sshd no se está ejecutando aunque openssh-server se instaló previamente y ahora se actualiza? | ¿Por qué sshd no se está ejecutando aunque openssh-server se instaló previamente y ahora se actualiza? | ||
- | ls -l /etc/rc5.d/* | grep ssh | + | <code bash> |
+ | [root@fedora14 student]# ls -l /etc/rc5.d/* | grep ssh | ||
+ | </code> | ||
Nota: | Nota: | ||
Línea 118: | Línea 121: | ||
Usemos chkconfig para verificar que no haya un script de inicio para sshd. | Usemos chkconfig para verificar que no haya un script de inicio para sshd. | ||
- | chkconfig --list | grep ssh | + | <code bash> |
+ | [root@fedora14 student]# chkconfig --list | grep ssh | ||
+ | </code> | ||
chkconfig: actualizaciones y consultas de información de nivel de ejecución para los servicios del sistema. | chkconfig: actualizaciones y consultas de información de nivel de ejecución para los servicios del sistema. | ||
Línea 124: | Línea 129: | ||
chkconfig tiene cinco funciones distintas: agregar nuevos servicios para administración, eliminar servicios de administración, enumerar la información de inicio actual para los servicios, cambiar la información de inicio de los servicios y verificar | chkconfig tiene cinco funciones distintas: agregar nuevos servicios para administración, eliminar servicios de administración, enumerar la información de inicio actual para los servicios, cambiar la información de inicio de los servicios y verificar | ||
- | el estado de inicio de un servicio en particular. | + | El estado de inicio de un servicio en particular. |
Los niveles de ejecución 0 a 6 no tienen un script de inicio para sshd. | Los niveles de ejecución 0 a 6 no tienen un script de inicio para sshd. | ||
Para crear los scripts de inicio para sshd | Para crear los scripts de inicio para sshd | ||
- | + | <code bash> | |
- | chkconfig sshd --level 2345 on | + | [root@fedora14 student]# chkconfig sshd --level 2345 on |
- | chkconfig --list | grep ssh | + | [root@fedora14 student]# chkconfig --list | grep ssh |
+ | </code> | ||
Creamos los scripts de inicio SSHD para el nivel de ejecución 2, 3, 4 y 5. | Creamos los scripts de inicio SSHD para el nivel de ejecución 2, 3, 4 y 5. | ||
- | hkconfig ahora muestra que existe un script de inicio para los niveles de ejecución 2, 3, 4 y 5. | + | |
+ | chkconfig ahora muestra que existe un script de inicio para los niveles de ejecución 2, 3, 4 y 5. | ||
Verificar que los scripts de inicio se hayan creado usando el comando find. | Verificar que los scripts de inicio se hayan creado usando el comando find. | ||
- | find /etc/rc[0-9].d/* -name "S*sshd*" | + | <code bash> |
+ | [root@fedora14 student]# find /etc/rc[0-9].d/* -name " | ||
+ | " | ||
+ | </code> | ||
- | find /etc/rc[0-9].d/*, Buscae archivos y directorios en /etc/, que empiezan por rc y necesita un numero despues del "rc" y antes del ".d". (por ejemplo, rd2.d). | + | find /etc/rc[0-9].d/*, Busca archivos y directorios en /etc/, que empiezan por rc y necesita un numero despues del "rc" y antes del ".d". (por ejemplo, rd2.d). |
Los scripts de inicio SSHD comienzan con una "S". | Los scripts de inicio SSHD comienzan con una "S". | ||
Línea 148: | Línea 158: | ||
Ahora ya podemos comenzar el servicio | Ahora ya podemos comenzar el servicio | ||
- | service sshd start | + | <code bash> |
+ | [student@fedora14 ~]$ service sshd start | ||
+ | </code> | ||
Verificamos que está corriendo | Verificamos que está corriendo | ||
- | ps -eaf | grep sshd | grep -v grep | + | <code bash> |
+ | [student@fedora14 ~]$ ps -eaf | grep sshd | grep -v grep | ||
+ | </code> | ||
---- | ---- | ||
- | ===== Creamos el directorio .ssh ===== | ||
+ | ====== Creamos el directorio .ssh ====== | ||
- | mkdir -p .ssh | + | <code bash> |
- | ls -ld .ssh | + | [student@fedora14 ~]$ mkdir -p .ssh |
- | chmod 700 .ssh | + | [student@fedora14 ~]$ ls -ld .ssh |
- | ls -ld .ssh | + | [student@fedora14 ~]$ chmod 700 .ssh |
+ | [student@fedora14 ~]$ ls -ld .ssh | ||
+ | </code> | ||
- | 05 | + | {{:sad:ubuntu:p9:05.png?400|}} |
- | Creamos el fichero de autorizacion | + | |
- | cd .ssh | + | ====== Creamos el fichero de autorizacion ====== |
- | touch authorized_keys | + | |
- | El fichero de autorizacion de claves contiene todos las claves publicas de los servidores en los que estará autentificado el servidor fedorate into this Fedora server. | + | |
- | ls -l authorized_keys | + | |
- | chmod 600 authorized_keys | + | |
- | Le damos solo permisos al usuario | + | |
- | ls -l authorized_keys | + | |
- | 06 | + | |
- | Volvemos al ubuntu | + | <code bash> |
+ | [student@fedora14 ~]$ cd .ssh | ||
+ | [student@fedora14 ~]$ touch authorized_keys | ||
+ | </code> | ||
- | cd /home/student/.ssh/ | + | El fichero de autorizacion de claves contiene todos las claves publicas de los servidores en los que estará autentificado el servidor fedora |
- | scp id_rsa.pub student@192.168153.47:/home/student/.ssh/ | + | |
- | Reemplazamos la ip por nuestra ip del Fedora | + | |
- | cd /home/student/.ssh/ | + | |
- | scp id_rsa.pub student@192.168.153.47: /home/student/.ssh/ | + | |
- | Reemplazar la dirección IP obtenida de. | + | |
- | Responda "sí" | + | |
- | La huella (fingerprint) RSA se agregará al archivo known_hosts del usuario. | + | |
- | La huella de RSA se almacena en /home/student/.ssh/known_hosts | + | |
- | Al iniciar las siguientes sesiones de ssh, su cliente ssh identificará el nombre de host y lo buscará en el archivo known_hosts para encontrar la clave de host ssh previamente registrada para el servidor remoto. | + | |
- | + | ||
- | volvemos al fedora y añadimos el fichero id_rsa.com en el fichero de claves autorizadas | + | |
- | cd /home/student/.ssh/ | + | <code bash> |
- | ls -l | + | [student@fedora14 ~]$ ls -l authorized_keys |
- | cat id_rsa.pub >> authorized_keys | + | [student@fedora14 ~]$ chmod 600 authorized_keys |
- | cat authorized_keys | + | </code> |
+ | Le damos solo permisos al usuario | ||
- | Testeando la conexion SSH | + | <code bash> |
- | ssh -i /home/student/.ssh/id_rsa student@192.168.153.47 | + | [student@fedora14 ~]$ ls -l authorized_keys |
- | hostname | + | </code> |
- | uptime | + | |
- | who | + | |
- | w | + | |
- | exit | + | |
- | volvemos al ubuntu | + | {{:sad:ubuntu:p9:06.png?400|}} |
- | print de pantalla | + | |
+ | ** Volvemos al ubuntu** | ||
- | ssh -i /home/student/.ssh/id_rsa student@192.168.1.107 "uptime" | + | <code bash> |
- | ssh -i /home/student/.ssh/id_rsa student@192.168.1.107 "uname -a" | + | student@ubuntu12:/$ cd /home/student/.ssh/ |
- | ssh -i /home/student/.ssh/id_rsa student@192.168.1.107 "echo \"tu nombre\"" | + | student@ubuntu12:/$ scp id_rsa.pub student@192.168.153.48:/home/student/.ssh/ |
- | 08 | + | </code> |
+ | Reemplazamos la ip por nuestra ip del Fedora | ||
+ | Responder "sí" | ||
+ | La huella (fingerprint) RSA se agregará al archivo known_hosts del usuario. | ||
+ | La huella de RSA se almacena en **/home/student/.ssh/known_hosts | ||
+ | ** | ||
+ | Al iniciar las siguientes sesiones de ssh, el cliente ssh identificará el nombre de host y lo buscará en el archivo **known_hosts** para encontrar la clave de host ssh previamente registrada para el servidor remoto. | ||
+ | {{:sad:ubuntu:p9:07.png?400|}} | ||
+ | Volvemos al fedora y añadimos el fichero id_rsa.com en el fichero de claves autorizadas | ||
+ | <code bash> | ||
+ | [student@fedora14 .ssh]$ cd /home/student/.ssh/ | ||
+ | [student@fedora14 .ssh]$ ls -l | ||
+ | [student@fedora14 .ssh]$ cat id_rsa.pub >> authorized_keys | ||
+ | [student@fedora14 .ssh]$ cat authorized_keys | ||
+ | </code> | ||
+ | {{:sad:ubuntu:p9:08.png?400|}} | ||
+ | |||
+ | **NOTA** el la pantalla que aparece justo encima de esta nota el fichero **authorized_keys** está mal escrito, le falta la **s** (sino no funciona) | ||
+ | ====== Testeando la conexion SSH ====== | ||
+ | <code bash> | ||
+ | student@ubuntu12:~.ssh$ ssh -i /home/student/.ssh/id_rsa student@192.168.153.48 | ||
+ | [student@Fedora14 ~]$ hostname | ||
+ | [student@Fedora14 ~]$ uptime | ||
+ | [student@Fedora14 ~]$ who | ||
+ | [student@Fedora14 ~]$ w | ||
+ | [student@Fedora14 ~]$ exit | ||
+ | </code> | ||
+ | |||
+ | volvemos al ubuntu | ||
+ | |||
+ | {{:sad:ubuntu:p9:09.png?400|}} | ||
+ | |||
+ | ''**Print de pantalla que hay que entregar**'' | ||
+ | |||
+ | <code bash> | ||
+ | student@ubuntu12:~.ssh$ ssh -i /home/student/.ssh/id_rsa student@192.168.153.48 "uptime" | ||
+ | student@ubuntu12:~.ssh$ ssh -i /home/student/.ssh/id_rsa student@192.168.153.48 "uname -a" | ||
+ | student@ubuntu12:~.ssh$ ssh -i /home/student/.ssh/id_rsa student@192.168.153.48 "echo \"tu nombre\"" | ||
+ | </code> |