¡Esta es una revisión vieja del documento!
¿Qué es SSH?
Secure Shell (SSH) es un protocolo de red para la comunicación de datos segura, servicios de shell remotos o ejecución de comandos y otros servicios de red seguros entre dos ordenadores conectadas a través de un canal seguro sobre una red insegura: un servidor y un cliente (ejecutando un servidor SSH y programas de cliente SSH, respectivamente)
¿Qué son las llaves SSH?
En los sistemas tipo Unix, la lista de claves autorizadas se almacena en la carpeta de inicio del usuario que puede iniciar sesión de forma remota, en el archivo ~/.ssh/authorized_keys. Este archivo solo es respetado por ssh si no se puede escribir con nada aparte del propietario y la raíz. Cuando la clave pública está presente en un lado y la clave privada coincidente está presente en otro lado, ya no es necesario escribir la contraseña. La clave privada también se puede buscar en lugares estándar, pero su ruta completa también se puede especificar como una configuración de línea de comandos (el modificador -i para ssh). La utilidad ssh-keygen produce las claves pública y privada, siempre en pares.
En esta practica, veremos cómo hacer lo siguiente:
- 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.
- 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 y ejecutar el comando contra el servidor de Fedora como estudiante sin una contraseña.
Ceramos el directorio .ssh
mkdir -p .ssh
ls -ld .ssh
en mi caso el permiso es 775.
Esto es un problema porque no quiero en nadie tenga acceso en un futuro a mis llaves ssh (ssh keys)
chmod 700 .ssh
Ahora solo el usuario puede leer, escribir y ejecutar en el directorio .ssh
ls -ld .ssh
01
Creamos el par de claves
cd .ssh
ssh-keygen -t rsa -b 4096
ssh-keygen es la instruccion que genera el par de claves publica y privada.
"-t" Especifica el modo de encriptación
"-b" Especifica la longitud de la clave, por defecto 2048
pulsamos <Enter> 3 veces
02
Establecemos los permisos a las claves SSH
ls -l
chmod 600 *
Quermos hacer mas seguro ela acceso a las claves
ls -l
file id_rsa
id_rsa, es el fichero de la clave privada
file id_rsa.pub
id_rsa.pub, es la clave pública que se coloca en otros servidores para configurar SSH de forma segura.
vamos al fedora y ejecutamos ifconfig -a
nos aseguramos que sshd está corriendo
si no esta instalado utilizamos el comando yum
yum update openssh-server yum install openssh-server ps -eaf | grep sshd | grep -v grep | wc -l si sale 0 es que no se está ejecutando ls -l /etc/rc5.d/* | grep ssh para observar en que nivel5 (modo grafico) esta instalado chkconfig –list | grep ssh chkconfig sshd –level 2345 on chkconfig –list | grep ssh verificar find /etc/rc[0-9].d/* -name “S*sshd*”
Creamos el directorio .ssh
mkdir -p .ssh
ls -ld .ssh
chmod 700 .ssh
ls -ld .ssh
05 Creamos el fichero de autorizacion
cd .ssh
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
cd /home/student/.ssh/
scp id_rsa.pub student@192.168.1.107:/home/student/.ssh/
Reemplazamos la ip por nuestra ip del Fedora
cd /home/student/.ssh/
scp id_rsa.pub student@192.168.1.107: /home/student/.ssh/
Reemplace 192.168.1.107 con la dirección IP obtenida de (Sección 7, Paso 3).
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/ ls -l cat id_rsa.pub >> authorized_keys cat authorized_keys
Testeando la conexion SSH ssh -i /home/student/.ssh/id_rsa student@192.168.153.47 hostname uptime who w exit
volvemos al ubuntu print de pantalla
ssh -i /home/student/.ssh/id_rsa student@192.168.1.107 “uptime” ssh -i /home/student/.ssh/id_rsa student@192.168.1.107 “uname -a” ssh -i /home/student/.ssh/id_rsa student@192.168.1.107 “echo \”tu nombre\“” 08
