Naps Tecnología y educación

Instalación y configuración de SSH

En el presente artículo veremos los comandos necesarios para la instalación y configuración de SSH, en un entorno Linux utilizando OpenSSH. Comenzamos comentando los conceptos principales sobre este protocolo.

Aprende instalación y configuración de SSH

Qué es SSH

SSH (Secure Shell)  es una forma segura de comunicar sistemas informáticos. Es un protocolo que permite establecer conexiones seguras con otros programas o protocolos (Maiorano A., 2009  ). Por ello, es posible que el protocolo de correo o de transferencia de archivos puedan utilizar mecanismos de cifrado para mejorar su seguridad. Se le llama SSH tanto al protocolo como al programa que lo implementa.

Con SSH podemos controlar un equipo informático remotamente a través de una red mediante un intérprete de comandos. Su uso es similar a Telnet, pero es más seguro. (Sivianes et al, 2010 ).

SSH utiliza encriptación (normalmente de 128 bits) para resguardar la información que viaja a través de un medio no seguro como lo es una red de datos. Para conseguir esto puede utilizar diversos algoritmos de compresión y encriptación (como BlowFish, Triple DES, IDEA y RSA). Utiliza contraseñas o bien llaves DSA o RSA para la autenticación y no necesariamente requiere de un servidor de llaves.

SSH está basado en la arquitectura cliente-servidor en la que el cliente es el proceso que se ejecuta en el equipo desde donde nos conectamos, y el servidor es el que se ejecuta en el equipo sobre el que se quiere obtener una sesión de trabajo (Gómez, Padilla y Gil, 2007).

OpenSSH

Existe una vesión open source de SSH llamado OpenSSH. Entre sus herramientas se cuentan ssh-add, ssh-agent, ssh-keygen, ssh-keyscan, ssh-keysign y ssftp-server (Vea Programas de la suite SSH)

OpenSSH es desarrollado por OpenBSD pero tambien existen versiones para el sistema operativo Windows.

Instalación y configuración de SSH

Usaremos un sistema basado en Debian como ejemplo.

Instalar el cliente OpenSSH

apt-get install openssh-client

 

Instalar la aplicación servidor OpenSSH

apt-get install openssh-server

 

Configuración del servidor OpenSSH

Antes de realizar cambios a su archivo de configuración recuerde realizar una copia de respaldo y de preferencia protegerlo contra escritura. Eso es lo que realizan los siguiente comandos.

cp /etc/ssh/sshd_config /etc/ssh/ssh_config.original
chmod a-w /etc/ssh/sshd_config.original

 

 

Abrir el archivo de configuración

nano /etc/ssh/sshd_config

 

 Directivas de configuración más empleadas

Directiva Uso
PubkeyAuthentication yes Hace que sshd permita credenciales de inicio de sesión en clave pública.
Banner /etc/issue.net Hace que el servidor OpenSSH muestre el contenido del archivo /etc/issue.net como banner antes del login
ListenAddress 0.0.0.0 Hace que sshd escuche peticiones de conexión desde cualquier red externa.
Port 2222 Hace que OpenSSH escuche por el puerto TCP 2222 en lugar del puerto 22 (por defecto).
PermitRootLogin no Impide que se conecten como usuario “root”. Útil para evitar ataques no deseados.

 

Otras directivas que también son útiles

Directiva Uso
Protocol Indica la versión del protocolo. Actualmente hay dos versiones, siendo la 2 la más segura (mit.edu, 2016)
IdentifyFile Indica el nombre del archivo que contiene la clave pública, normalmente ~/.ssh/id_rsa
PasswordAuthentication Indica que el mecanismo de autenticación a utilizar es el clásico (usuario y contraseña)
Ciphrers Indica los algoritmos de cifrado disponibles.
RSAAuthentication Para indicar si se usa RSA en la autentificación.

 

Si hemos realizado cambios al archivo sshd_config hay que reiniciar el servidor para que los cambios surtan efecto. Esto se hace con el comando

/etc/init.d/ssh restart

 

Uso del cliente SSH en sistemas Linux

El comando es el siguiente: ssh host_remoto

Donde host_remoto es la IP del servidor SSH o su nombre.

Otra forma de conectarnos es especificando el nombre de usuario en el servidor remoto.

Ssh usuario_remoto@host_remoto

Programas de la suite ssh

Programa Descripción
scp Secure Copy, ofrece un medio seguro de copiar archivos de un host a otro.
ssh Cliente de Secure Shell.
ssh-add Registra nuevas claves al agente de autenticación
ssh-agent Realiza la autenticación al estilo RSA a través de redes y permite a los host remotos acceder y almacenar claves privadas de RSA.
sshd Servidor de Secure Shell. De forma predeterminada escucha en el puerto 22.
ssh-keygen El generador de claves para ssh. Los usuarios pueden generar una clave RSA para autenticarse local o remotamente.

 

Arquitectura de protocolos SSH

La arquitectura de protocolos enviada a la IETF para su aprobación se conforma por tres componentes principales (Nichols y Lekkas, 2003).

 

Arquitectura de protocolos SSH

Referencias

  1. Anónimo (2000) Linux Máxima Seguridad. Pearson Educación.
  2. Gagné (1999). Linux System Administration. A user’s guide. Addison Wesley.
  3. Gómez, Padilla y Gil (2007). Administración de Sistemas Operativos Windows y Linux, un enfoque práctico.  RA-MA Editorial.
  4. Maiorano A. (2009). Criptografía, técnicas de desarrollo para profesionales. Alfaomega.
  5. Mit.Edu (2016).  Versiones del protocolo SSH. Disponible en [http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-es-4/s1-ssh-version.html] consultado el [15-3-2016].
  6. Nichols y Lekkas (2003). Seguridad para comunicaciones inalámbricas. Mc Graw Hill
  7. Sivianes et al (2010). Servicios en red. Editorial Paraninfo.
¿Qué te pareció este artículo?
  • Poco informativo ()
  • No era lo que buscaba ()
  • Regular ()
  • Interesante ()
  • Excelente ()
(Visto 1.036 veces)

Tu comentario

opiniones