Para conectarnos mediante ssh a un equipo remotamente se usa el siguiente comando ssh usuario@192.168.1.100, ahora si queremos conectarnos por un puerto diferente al puerto 22 (puerto por defecto) tendriamos que usar el siguiente comando ssh usuario@192.168.1.100 -p 1234, como vemos se complica un poco considerando que ya debemos colocar la ip cada vez que nos conectemos ahora debemos agregar el puerto por el cual nos vamos a conectar.

Supongamos ahora que usamos una llave para realizar la conexión el comando quedaría de la siguiente forma ssh -p 1234 -i ~/.ssh/foo.key usuario@192.168.1.100

Como podemos notar escribir todo eso cada vez que queremos hacer una conexión remota se hace tedioso, para solucionar esto creamos un archivo de configuración donde podremos especificar los parametros de conexión y conectarnos mediante atajos faciles de usar.

Creamos un archivo llamado config en ~/.ssh/ con el siguiente contenido

Host myserver
HostName 192.168.1.100
User usuario
Port 1234
IdentityFile ~/.ssh/foo.key

Ahora para conectarnos solo ejecutamos ssh myserver facil no?, en el mismo archivo podemos configurar los accesos a los equipos que queramos y solo accedemos a ellos mediante el nombre de host que le asignemos.

Para evitar que nuestra conexión termine cuando hay inactividad podemos agregar la siguiente linea ServerAliveInterval 60 esto enviará una señal al equipo remoto cada 60 segundos impidiendo que se pierda la conexión.