logo ssh

El servicio SSH es lo primero que deberías configurar en un sistema Linux. Con OpenSSH tienes un conjunto de herramientas, entre ellas ssh, sshd, scp, etc. que te permiten activar la posibilidad de acceder mediante una Shell Segura remota a tu equipo. Si vienes de la epoca del “telnet” deberías olvidarte de él, el sustituto hoy en día es SSH.


Configuración SSH

Vamos a ver la configuración de SSH que uso en mi servidor y en un cliente. Tienes mucha más información en la documentación de openssh.


Servidor

Veamos las tres opciones más importantes

  • Instalación en Gentoo: emerge -v openssh
  • Arranque en Gentoo: /etc/init.d/sshd start
  • Arranque durante el boot en Gentoo: rc-update add sshd default

Consulta el fichero /etc/ssh/sshd_config antes de arrancar SSH. En mi caso impido el login como root (PermitRootLogin), impido el uso de PAM (UsePAM) y prohibo el uso de una password normal de usuario (PasswordAuthentication), de esta forma solo nos queda el uso de una pareja de claves pública/privada :-)

  • Ejemplo de configuración /etc/ssh/sshd_config
PubkeyAuthentication yes
PasswordAuthentication no
AuthenticationMethods publickey
UsePAM no
X11Forwarding yes     # !! X11 !!
X11DisplayOffset 10   # !! X11 !!
X11UseLocalhost yes   # !! X11 !!
AddressFamily inet
PrintMotd no
PrintLastLog no
Subsystem	sftp	/usr/lib64/misc/sftp-server
AcceptEnv LANG LC_*


Cliente

A continuación muestro la configuración de un cliente SSH, se trata del que utilizo más a menudo, el que viene con MacOS.

  • Configuración del cliente SSH en MacOS /Users/luis/.ssh/config
PubkeyAuthentication yes
Host *
    ForwardAgent yes        
    ForwardX11 yes         
    ForwardX11Trusted yes  
    ControlMaster auto
    ControlPath ~/.ssh/sockets/%r@%h-%p
    ControlPersist 600
    AddKeysToAgent yes
    UseKeychain yes
    IdentityFile ~/.ssh/id_rsa


Generación de clave pública/privatda

Veamos cómo generar la pareja de claves, de tipo RSA. En el ordenador “cliente”, en este ejemplo lsa claves se van a guardar en el directorio /Users/luis/.ssh/, uno de los ficheros con nombre id_rsa (clave privada que nunca debes compartir con nadie) y el fichero id_rsa.pub que debes enviar al servidor.

luis@idefix ~ $ ssh-keygen -t rsa -b 2048
:
  • Envío de la clave pública al Servidor

El siguiente paso consiste en instalar la clave pública (está en el fichero ``$HOME/.ssh/id_rsa.pub) al Servidor. Es un fichero de texto y tienes que **añadir** su contenido al fichero $HOME/.ssh/authorized_keys` del usuario del servidor al que conectarás.

Enviamos por “algún método” el fichero id_rsa.pub al servidor

luis@servidor ~ $ cat /tmp/id_rsa.pub >> .ssh/authorized_keys


Conectar desde el cliente

Conexión desde el cliente. Volvemos al ordenador del cliente nos conectamos con el servidor

luis2idefix ~ $ ssh servidor.midominio.com

No dejes de consultar el apunte sobre X11 desde root, donde vuelvo a hablar de SSH y veo opciones adicionales.

Enlaces de interés