Curso avanzado de administración de sistemas Linux

Rafael Varela Pet

Unidad de Sistemas

Área de Tecnologías de la Información y Comunicaciones

Universidad de Santiago de Compostela

Versión 0.3

Curso avanzado de administración de sistemas Linux

Administración remota con SSH

SSH

SSH: Secure SHell

Dos versiones del protocolo: SSH1 y SSH2

SSH1 sólo se debería usar en circunstancias especiales

OpenSSH: Implementación libre de SSH

OpenSSH: Dos ramas de desarrollo. Una para OpenBSD y otra “portable” para diversos S.O.

OpenSSH

Comandos básicos: ssh, scp, sftp

Sustituyen a rlogin/telnet, rcp y ftp

Servidor: sshd

Utilidades: ssh-add, sftp-server, ssh-keygen, ssh-agent y ssh-keyscan

OpenSSH. Autentificación

Autentificación con clave pública:

ssh-keygen

~/.ssh/authorized_keys

keyboard-interactive: método genérico para casos en que se necesiten datos suministrados por el usuario. Métodos soportados:

password

PAM

OpenSSH
Autentificación con clave pública

Más seguro usar claves cifradas

ssh-agent: gestiona las claves privadas cuando usamos autentificación de clave público

Inicio con las X:
Añadir use-ssh-agent a /etc/X11/Xsession.options

ssh-add: incorpora identidades al agente ssh

Desactivar autentificación con usuario/contraseña en /etc/ssh/sshd_config

OpenSSH
Túneles X-Window

Aplicaciones X a través del túnel SSH

Habilitar en /etc/sshd_config

ssh -X usuario@host

OpenSSH. Uso no interactivo

Podemos lanzar comandos sin invocar una shell:
ssh usuario@host df -h

Restricciones:
from=”host1,host2”,command=”/bin/df -k” KEY user@host

OpenSSH. Túneles locales

Túneles locales
ssh -L2143:pop.usc.es:143 usuario@servidor
Redirige el puerto local 2143 al 143 en pop.usc.es
a través de servidor

OpenSSH. Túneles remotos

Túneles remotos
ssh -R8080:www.usc.es:80 usuario@servidor
Abre el puerto 8080 en servidor.
Las conexiones a ese puerto se redirigen al puerto 80 de www.usc.es a través de la máquina local

OpenSSH

Al establecer el túnel también obtenemos una shell en el servidor remoto

La opción -N permite no ejecutar nada en el servidor SSH. Ejemplo:
ssh -N -R8080:www.usc.es:80 usuario@servidor

La opción -f hace que el proceso ssh se ejecute en segundo plano. Ejemplo:
ssh -f -N -R8080:www.usc.es:80 usuario@servidor

Resolución problemas

Opción -v muestra información sobre la conexión

Repitiendo la opción (hasta 3) obtenemos más datos

Ejemplo: ssh -v -v usuario@host

Gestión remota con SSH

Curso avanzado de administración de sistemas Linux

Autor:
Rafael Varela Pet
Area de Tecnologías de la Información y Comunicaciones
Universidad de Santiago de Compostela

2006-01-13T18:22:28