106 - Configuración SSH y segunda temporada

106 - Configuración SSH y segunda temporada

Este es el primer episodio de la segunda temporada del podcast. Te cuento sobre esta temporada y sobre mi configuración ssh para mejorar mi productividad.

1:25
-3:15

Aquí comienza la segunda temporada del podcast.¿Que fecha mas rara? Lo he cambiado para la próxima temporada. En este episodio te quiero contar que es lo que vas a encontrar en atareao.es durante los próximos meses. Sin embargo, esto no está cerrado ni mucho menos, por lo que te comentaré mas adelante. ¿Quien me lo iba a decir a mi cuando empecé con aquel primer podcast titulado sobre el peligro de las apuestas? Empujado por Angel uGeek. Ya ves, segunda temporada con algo mas de 100 episodios a las espaldas… Por otro lado, te quiero hablar de mi experiencia con la configuración SSH en los últimos tiempos. Pero sobre todo, como tengo configurado el acceso a un centenar de máquinas para facilitarme la gestión. Esta configuración, es posible que a ti también te resulte de utilidad, o que tu tengas alguna solución equivalente o mejor que compartir.

Segunda temporada del podcast y configuración SSH

Configuración SSH y segunda temporada

Doce meses doce donaciones

Siguiendo con la propuesta de Pedro Mosquetero Web de doce meses doce donaciones al software libre, la de este mes ha ido dedicada a Kodi, este magnífico centro multimedia sobre el que hablé en los episodios 4 y 5 del podcast. El primero, propiamente sobre el reproductor Kodi, y el segundo dedicado a la ingente cantidad de complementos par Kodi.

Boletín

Durante las últimas semanas he tenido parado el boletín semanal para ti si es que estás suscrito a atareao.es. Quería darle un nuevo enfoque, básicamente dotarle de mas contenido interesante para ti.

Invierto muchas horas leyendo y documentándome. Muchos de los artículos y recursos que encuentro, no tienen una entidad suficiente como para que haga un artículo, con lo que quedan en el olvido. Así en esta nueva temporada, he decidido que formen parte del boletín semanal, así como otras secciones que iré incorporando en futuras semanas. Poco a poco.

Segunda temporada

En esta nueva temporada que comienza con el curso escolar, quiero alinear el contenido con tus intereses. Así, he hecho un sencillo formulario, para que si quieres participes en el mismo y entre todos, podamos orientar lo que voy a publicar. Enlace al formulario.

No es nada complicado, simplemente 5 preguntas donde tienes que valorar de 1 a 5 los temas que te propongo. Y uno para que me propongas el que tu consideres.

Y en una segunda sección una pregunta muy, pero que muy personal, y que si quieres conocer tendrás que ver el formulario. Que lo rellenos o no, es tu decisión, nadie está obligado, faltaría mas.

Parece mentira, pero siempre estoy pidiendo… y esta vez de nuevo, te pido por favor que participes en esta pequeño formulario, tu opinión es muy importante para mi y también para ti. Como te digo, el objetivo es alinear el contenido publicado con tus intereses, así que imagina.

Configuración SSH

Introducción

Sea que utilices Linux para la Raspberry o para un VPS o para tus servidores o para lo que sea, estoy seguro que ya te has habituado al uso de SSH. Esto protocolo que te permite conectarte de forma remota con todas tus máquinas.

Si no conoces SSH, te puedo recomendar algunos de los artículos que he publicado que seguro te son de interés como configuración de ssh, mosh, acceder vía ssh de forma segura.

Sin lugar a dudas se trata de una herramienta imprescindible ya sea que la utilices para tu Raspberry o para tus servidores.

¿Y porque este tema de la configuración SSH?

Actualmente tengo que conectarme a decenas o incluso decirte a mas de un centenar de máquinas. Lo cual hace que gestionar todos estos accesos se hayan vuelto algo complicado. Hostnames, contraseñas, etc… es un verdadero caos, si no lo tienes organizado.

Pero no solo en el trabajo, en casa, la cosa también se ha complicado, he pasado a tener una Raspberry a tener mas de 10 Raspberry, y todas fuera del cajón… Esto también resulta algo caótico.

Organización, organización

Clave público privada

El primer paso es que el acceso vía ssh tiene que ser con clave público privada, esto es fundamental, no solo por seguridad sino también por higiene mental.

Actualmente en el trabajo se cambia la contraseña una vez al mes aproximadamente, con lo los primeros días es un infierno de errores y bloqueos. Sin embargo, con la clave público privada este problema desaparece.

Generar una pareja de claves público privada es tan sencillo como ejecutar ssh-keygen.

Una vez creada, tan solo tienes que enviarla al servidor con el que te tienes que conectar para ello ejecutas ssh-copy-id -i ~/.ssh/id_rsa ip_del_servidor. Te pedirá que le introduzcas la contraseña, y si todo ha ido bien, esta será la última vez que introduzcas la contraseña.

El archivo de configuración

La siguiente pata, para tener tus conexiones organizadas es sin lugar a dudas el archivo de configuración de ssh, ~/.ssh/config. Aquí es donde guardar tus conexiones con tu configuración por defecto. Por ejemplo,

Host rpi1
    Hostname 192.168.1.48
    User pi1
Host rpi2
    Hostname 192.168.1.49
Host *
    IdentityFile ~/.ssh/id_rsa
    IdentitiesOnly yes
    User pi
    Port 22

Tienes que tener presente que la primera configuración sobre escribe a las siguientes. Es decir, que si encuentra primero que tu usuario es pi1, como en el ejemplo, este será el usuario que utilizará. En otro caso, utilizará el que encuentre por defecto.

De esta manera conectarte a tu primera Raspberry pasa de ser ssh pi1@192.168.1.48 a ssh pi1.

Etiquetas

Esto con unas pocas Raspberry o servidores todavía es gestionable. ¿pero que hago, si como en mi caso tengo que acceder a cientos?

Yo soy de los de mas vale un lápiz corto que una memoria larga, y en este sentido prefiero tenerlo todo anotado

¿Y donde mejor tenerlo anotado que en el propio archivo de configuración? Pues eso, que lo anoto en el propio archivo de configuración, añadiendo una almohadilla, y las palabras clave que necesito. Esto me permite agrupar a las diferentes máquinas por su nombre, su uso, etc.

Por ejemplo,

Host rpi1 # Raspberry
    Hostname 192.168.1.48
    User pi1
Host rpi2 # Raspberry
    Hostname 192.168.1.49
Host do1 # Digital Ocean, mantasfrescas.es
    Hostname 103.215.175.28
    User manfredo
Host do2 # Digital Ocean, ubuntulema.com
    Hostname 201.112.137.18
    User fruncio
    Port 3225
Host *
    IdentityFile ~/.ssh/id_rsa
    IdentitiesOnly yes
    User pi
    Port 22

Perfecto, ahora ya lo tengo todo organizado con sus claves, sus etiquetas, y todo…. pero, cuando tienes cientos ¿como encuentras el que buscas?

La magia de Bash. Si has seguido el tutorial de Bash, esto no te representará ningún reto. Si no lo has seguido te recomiendo que le des un vistazo, por supuesto, porque seguro te será de gran ayuda. Sea como fuere, te dejo aquí el script que estoy utilizando para realizar las búsquedas,

sshs(){
    OIFS="$IFS"
    IFS=$'\n'
    for l in $(cat ~/.ssh/config | grep -i "$1" | grep "#")
    do
        echo ${l:5}
    done
    IFS=$OIFS
}

Así realizar una búsqueda es tan sencillo como escribir sshs digital. Esto me devolverá un listado de todas las máquinas que tengo alojadas en Digital Ocean. A partir de aquí simplemente tengo que elegir la que busco y conectarme como lo hago de forma habitual.

Conclusión

Con esto has visto las tres patas como tengo organizadas mis conexiones,

  • Clave público privada
  • El archivo de configuración
  • Etiquetas en los comentarios

¿y tu?¿Como lo haces? Cuéntame como lo haces tu que me interesa ver otros procedimientos para organizar y gestionar las conexiones


Photo by danny howe on Unsplash

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *