Cómo hacer que SSH sea aún más fácil de usar con archivos de configuración

Secure Shell (SSH) es una de esas herramientas con las que todo usuario de Linux probablemente trabajará en algún momento. Con SSH, puede iniciar sesión de manera fácil (y segura) en servidores y escritorios remotos para administrar, desarrollar y verificar esas máquinas.

Usar SSH es tan simple como:

ssh [email protected]

O incluso simplemente:

ssh 192.168.1.11

Por supuesto, cambiaría la dirección IP por la dirección (o dominio) de la máquina a la que necesita acceder.

MarketingyPublicidad.es recomienda

Las mejores clases de Linux Foundation

Las mejores clases de Linux Foundation

¿Quieres un buen trabajo de tecnología? Entonces necesitas saber Linux y software de código abierto. Una de las mejores formas de aprender es a través de un curso de Linux Foundation.

SSH se vuelve un poco menos simple cuando tiene numerosas máquinas a las que accede con diferentes configuraciones (como diferentes nombres de usuario o claves de autenticación SSH). Imagínese si tuviera 20 o más servidores diferentes a los que tuviera que iniciar sesión diariamente. No solo tendría que realizar un seguimiento de las direcciones IP o los dominios de esos servidores, sino que también tendría que recordar qué nombres de usuario o claves de autenticación se utilizaron. Eso por sí solo podría ser bastante abrumador.

Afortunadamente, SSH le permite crear un archivo de configuración para albergar toda esa información. Entonces, en lugar de tener que escribir algo como ssh [email protected] -p 2222simplemente puede escribir sshweb1.

Déjame mostrarte cómo se hace esto.

Creando el archivo de configuración SSH

Inicie sesión en la máquina Linux que usa para SSH en todas esas máquinas remotas. Abra una ventana de terminal y cree el nuevo archivo de configuración con el comando que se muestra en Figura A.

Figura A

sshconfig1.jpg

Creando el nuevo archivo de configuración SSH con la ayuda de nano.

Dado que este es un archivo nuevo, será un lienzo en blanco al que podemos comenzar a agregar configuraciones para servidores. Supongamos que desea configurar los siguientes servidores remotos:

  • web1 en 192.168.1.100 con usuario olivia

  • db1 en 192.168.1.101 con el usuario nathan y la clave SSH ~/.ssh/id_nathan

  • docker1 en 192.168.1.102 con el usuario lilly en el puerto 2222

Nuestra primera entrada se verá así:

Host "web1"
     Hostname "192.168.1.100"
     User olivia

Si guarda y cierra el archivo en este punto, puede usar SSH en 192.168.1.100 con el comando:

ssh web1

Avancemos y configuremos las siguientes dos entradas, que se verán así:

Host db1
     Hostname "192.168.1.101"
     User nathan
     IdentityFile ~/.ssh/id_nathan
     PubkeyAuthentication yes

Host docker1
     Hostname "192.168.1.102"
     User lilly
     Port 2222

Guarde y cierre el archivo. Ahora puede proteger el shell en esas máquinas con los comandos:

ssh web1
ssh db1
ssh docker1

Puede usar cualquier apodo que necesite para cada host, solo hágalos memorables, para que no olvide a qué máquina está tratando de llegar y tenga que hacer referencia constantemente al archivo de configuración para borrar su memoria.

Sin embargo, digamos que usa el mismo nombre de usuario en todos sus servidores remotos, pero usa un nombre de usuario diferente en su máquina local. Por ejemplo, el nombre de usuario de su máquina local puede ser jack, pero ha creado el usuario administrador en todos sus servidores remotos. Podría crear una sola entrada para todos esos servidores con un comodín en la dirección IP como esta:

Host 192.168.1.*
User admin

La configuración anterior se colocaría en la parte superior de su archivo de configuración.

Luego, puede configurar cada servidor individualmente según sea necesario, omitiendo la opción Usuario. Por ejemplo, si ambos servidores en 192.168.1.200 y 192.168.1.201 usan autenticación de clave SSH, puede configurar entradas de esta manera:

Host web2
     Hostname 192.168.1.200
     IdentityFile ~/.ssh/id_admin
     PubkeyAuthentication yes

Host web3
     Hostname 192.168.1.201
     IdentityFile ~/.ssh/id_admin
     PubkeyAuthentication yes

Debido a que aplicamos el administrador de usuarios a toda la gama de máquinas en el esquema de dirección IP 192.168.1.x, ese nombre de usuario se aplicará a todas las conexiones. También puede anular esa configuración global agregando una línea de configuración de usuario según sea necesario.

El archivo de configuración de SSH permite varias otras opciones (todas las cuales se pueden leer en la documentación oficial de configuración de SSH), pero estos ejemplos que se muestran arriba deberían ser todo lo que necesita para comenzar con el archivo de configuración de SSH.

Y eso es todo lo que hay que hacer para usar el archivo de configuración SSH para ayudar a que su acceso remoto con Secure Shell sea aún más fácil.

Deja un comentario