Explicamos a usar el archivo config que permite la configuración de accesos SSH para un login rápido al administrar servidores.
En el día a día de la administración de servidores realizamos muchos logueos a diferentes direcciones IP, cada uno de ellos con un usuario distinto, su propia llave SSH, etc. Si manejas más de un servidor observarás que es imposible memorizar todos estos datos, por lo que generalmente tendrás que ir tirando de notas para acordarte y quizás copia-pegas para poder lanzar más rápido los comandos de consola para la conexión SSH.
En este artículo te explicamos cómo puedes mejorar sensiblemente el flujo de conexión SSH con los servidores, por medio de un archivo llamado "config", que nos permite tener una especie de "alias" de cada máquina, ayudando en el acceso de una manera muy ágil.
Qué es el archivo config
El archivo config (config file se le suele llamar en inglés) es un archivo de texto plano, que guardamos en una ruta determinada en nuestro ordenador. Permite especificar tantos host de conexión como queramos, asignando un nombre fácil de recordar por nosotros. De este modo, para conectar con los servidores escribiremos el nombre del host en vez de toda la cadena de conexión SSH.
Por ejemplo, este es el comando de conexión habitual que haces en tu terminal para conectarte por SSH a un servidor, usando una llave SSH.
ssh -i ~/.ssh/llave_privada el_usuario@0.255.0.1
Gracias al archivo config, podemos cambiar este comando de conexión por simplemente algo como:
ssh mi_servidor
Obviamente, resulta mucho más fácil de recordar y te ahorrará probablemente copiar y pegar de cualquier lugar donde tengas escrito el comando, equivocarte al escribirlo y, en fin, agilizar tu día a dia.
Dónde se almacena el archivo config
El archivo config lo encuentras en la carpeta .ssh, donde se almacenan todas las llaves ssh que has creado en tu sistema, generalmente en la carpeta de tu usuario y dentro del directorio .ssh. Por ejemplo, la carpeta de mi usuario se llama midesweb. El archivo config lo tengo en Users/midesweb/.ssh
Probablemente, si no lo has creado tú anteriormente, ese fichero "config" no estará en esa ruta. Así que lo tendremos que crear. Es importante saber que el archivo config no lleva ninguna extensión.
Puedes crear el archivo con cualquier editor de tu preferencia. Por supuesto, debe de ser un programa que permita trabajar con archivos de texto plano, como cualquier editor para programadores.
Los usuarios de Linux y Mac tienen que tener en cuenta que el directorio .ssh es un directorio oculto, por lo que no lo encontraremos si navegamos con el explorador de archivos. Lo más cómodo es llegar a él mediante el terminal. Pero esto es algo que seguramente ya sepas si estás leyendo este artículo.
Contenido del archivo config
Ahora veamos el código que tenemos que escribir dentro del archivo config para crear nuestras diferentes conexiones con los servidores que administramos. Básicamente se trata de unas cuantas líneas para cada servidor, que indican los parámetros de conexión que se deben de usar.
Host desarrollowebcom
HostName 1.2.3.4
User root
IdentityFile /Users/midesweb/.ssh/desarrollowebcom
Como puedes ver, estamos indicando varios parámetros:
- El nombre de la conexión configurada (desarrollowebcom)
- La IP del servidor, en HostName
- El usuario (root, o el que sea en tu caso)
- La ruta para la llave ssh privada que hayas configurado, si es que usas llave ssh, lo que es bastante recomendable y en muchos proveedores incluso obligatorio
Podemos tener varias de estas entradas, con la cantidad de servidores que fuera necesario para nosotros.
Usar las conexiones ssh configuradas
Ahora, para el acceso por SSH al servidor, simplemente tenemos que usar las conexiones, desde el terminal de línea de comandos, colocando "ssh" seguido del nombre que hemos indicado para esta conexión en particular.
ssh desarrollowebcom
Listo! con este sencillo comando habremos conseguido conectar por SSH con el servidor, usando nuestra llave, el usuario correcto y la IP. Ya no necesitamos recordar todos esos datos de conexión y podremos acceder al servidor de una manera mucho más ágil.
Miguel Angel Alvarez
Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...