Conectarse rápido a una máquina vía SSH

Hay veces, que al controlar varias máquinas el tener que acordarse de todos los certificados e IPs es demasiado trabajo. Y como bien dicen, el buen administrador de sistemas cuanto mas vago y mas automatice todas las tareas mejor. Por ello en este post explicaré como haciendo un simple ssh «nombre_máquina» nos podríamos conectar directamente independientemente de con que usuario estemos logados o en que puerto esté escuchando el otro host.

Configuración

Para empezar, crear la llave en nuestro host

ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ismael/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): <sin contraseña>
Enter same passphrase again: <sin contraseña>
Your identification has been saved in /home/ismael/.ssh/id_rsa.
Your public key has been saved in /home/ismael/.ssh/id_rsa.pub.
The key fingerprint is:
43:d5:e7:46:94:bkt:f0:e8:f:fr:c1:ed:gt:f:84:de ismael@laptop
The key's randomart image is:
+---[RSA 2048]----+
|           .o++. |
|          ...+o  |
|       o ..o .o  |
|        -.o o.   |
|        AE       |
|        . +   o  |
|         o . + o |
|          + . . E|
|         .       |
+-----------------+

Una vez hecho esto, ahora procederemos a copiar el key a la máquina a la que queremos conectarnos.

ssh-copy-id root@<host_remoto> -p<puerto>

Por último, crear el fichero config en el directorio ssh

vim ~/.ssh/config
Host <nombre que se le quiere dar>
  user <usuario>
  hostname <IP o DNS>
  port <puerto>
  #Por defecto cogerá ~/.ssh/id_rsa pero si se ha generado en otro sitio habría que indicarle
  Identityfile <key generada>

Nota: Asegurarse de que el archivo config tiene los permisos correctos

-rw-r--r--. 1 ichasco  126 nov  4 17:06 config

Ahora ya con ejecutar ssh <nombre_host> accederíamos directamente  a la máquina. Pero todavía podemos ser mas vagos y ahorrarnos el ssh con un alias

alias <comando nuevo>='<comando>'
ejemplo: alias ichasco='ssh ichasco'

En este caso ichasco sería el nombre que le he dado a mi host en el fichero ~/.ssh/config

El alias este, no sería permanente. Para ello descomentar en el fichero ~/.bashrc lo siguiente:

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

Y una vez hecho esto, editar el ~/.bash_aliases y añadir el alias

alias <comando nuevo>='<comando>'

Y por ultimo ejecutar los cambios con el comando bash

bash

En el caso de que se use zsh, el procedimiento es el mismo, pero hay que editar otro fichero

vim ~/.zshrc

Y para aplicar los cambios

zsh

Leave a Reply

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