Los Ficheros de Configuración

En vez de llenar nuestra llamada a ssh de parámetros lo aconsejable es configurar la llamada en uno de los ficheros de configuración (man ssh_config). SSH consulta las opciones en el siguiente orden:

  1. Línea de comandos
  2. Fichero de configuración del usuario ~/.ssh/config Este fichero debe tener permisos de lectura/escritura para el usuario y no ser accesible al resto.
  3. Fichero de configuración global /etc/ssh/ssh_config

Estructura de un Fichero de Configuración

Para cada parámetro el primer valor encontrado será el utilizado. Los ficheros de configuración contienen secciones. Cada sección comienza con una especificación de Host. Las especificaciones en esa sección sólo se aplican a los máquinas (tal y como se especifico en la línea de comandos) que casen con el patrón especificado en Host . Por ejemplo, si escribo en la línea de comandos:

pp2@nereida:~/Lbook$ ssh rbeo

Se buscará en mi fichero de configuración ~/.ssh/config por una especificación Host rbeo. En efecto, en mi fichero existe una:

...

Host rbeo
user otheruser
Hostname localhost
Port 2048
IdentityFile /home/pp2/.ssh/ursu

...

La sección dice que opciones deben aplicarse cuando nos conectamos a rbeo:

Las líneas que comienzan por el carácter # son tratadas como comentarios. Es posible añadir líneas en blanco para aumentar la legibilidad.

El resto de las líneas deben seguir el patrón

PALABRACLAVE argumentos

Palabras Clave

Algunas palabras clave importantes son:

Ejemplo

Sigue un ejemplo de fichero de configuración de usuario:

pp2@nereida:~/.ssh$ cat -n config
 1  # man  ssh_config
 2
 3  GSSAPIAuthentication no
 4
 5  Host somemachine
 6  user myname
 7  Hostname somemachine.pcg.ull.es
 8  #ForwardX11 yes
 9
10  Host ursu
11  user otheruser
12  Hostname somemachine.pcg.ull.es
13  IdentityFile /home/pp2/.ssh/ursu
14  #ForwardX11 yes
15
16  Host chazam chazam.pcg.ull.es chazam.deioc.ull.es chum
17  user myname
18  # The real name of the machine
19  Hostname chazam.pcg.ull.es
20
21  # Example to be used when connecting via reverse tunneling
22  # myname@somemachine:~$ ssh -R2048:localhost:22 pp2@nereida
23  # Logic name for the machine
24  Host rbeo
25  # user in the remote machine
26  user otheruser
27  # The 'real name' of the machine after the tunnel
28  Hostname localhost
29  # Port to connect to
30  Port 2048
31  IdentityFile /home/pp2/.ssh/ursu

El fichero rc

Cada vez que ocurre una conexión SSH el servidor ejecuta el script en /etc/sshrc. Si existe un fichero ~/.ssh/rc (SSH1, OpenSSH) o ~/.ssh2/rc (SSH2), será invocado. Su presencia inhibe la ejecución de /etc/sshrc. Se ejecuta tanto si la sesión es interactiva como si es un comando.



Subsecciones
Casiano Rodriguez León 2015-06-18