Como todos sabemos, lo más importante y por lo cual debemos siempre velar es porque toda la información que enviamos esté segura y llegue de manera íntegra a su destino. En esta oportunidad hablaremos de uno de los protocolos que mejor se encargan de darnos esa tranquilidad de que nuestras conexiones son seguras y están altamente protegidas, este protocolo lo conocemos como SSH.
SSH en esencia permite que la comunicación entre dos o más dispositivos sea segura, permite que los usuarios inicien sesión de manera remota en un equipo y a diferencia de los ya conocidos FTP y TelNet, SSH encripta la sesión brindándonos mayor confianza. En Red Hat notaremos que viene incluido el paquete openssh tanto para servidor como para cliente.
Quizás algunos se preguntan, ¿Por qué usar SSH?, la respuesta es muy sencilla, por seguridad, recordemos que algunos intrusos pueden interceptar la comunicación entre dos o más sistemas con el fin de sustraer información y usarla de manera indebida, SSH nos ofrece las siguientes ventajas ante estos ataques:
- Nadie puede conectarse al servidor sin las credenciales requeridas
- SSH usa encriptación de 128 bits lo cual incrementa la seguridad
- Brinda medios seguros para ejecutar aplicaciones gráficas en un entorno de red
- Podemos usar un canal seguro para la transmisión de la información
- SSH soporta autenticación Kerberos
- SSH en Red Hat 7 cuenta con la versión 2
- Inicialmente se realiza una verificación de que el cliente está conectándose al servidor correcto
- Posteriormente la capa de transporte entre el cliente y el servidor se cifra de manera simétrica
- El cliente se autentica con sus credenciales
- El cliente puede realizar tareas sobre el servidor remoto
Con SSH podemos configurar dos tipos de archivos, los archivos del cliente (ssh, scp y sftp) y los archivos del servidor (el demonio sshd). Algunos de los siguientes archivos podremos encontrar en Red Hat 7.2 para la respectiva configuración de SSH:
Para validar en nuestro sistema Red Hat 7.2 si tenemos instalado el sshd podemos usar el siguiente comando:
Service sshd statusPodemos ver que actualmente está corriendo:
En caso de no tenerlo instalado podemos ejecutar el siguiente comando para su respectiva instalación:
yum -y install openssh-server openssh-clientsUna vez lo hayamos ejecutado vamos a iniciar el servicio del sshd usando el comando:
systemctl start sshd.servicePara detener el servicio simplemente ejecutamos el siguiente comando:
systemctl stop sshd.serviceEn caso de que deseemos que el servicio inicie de manera automática podemos ingresar lo siguiente:
systemctl enable sshd.service ln -s '/usr/lib/systemd/system/sshd.service' '/etc/systemd/system/multiuser.target.wants/sshd.service'Si necesitamos realizar algún cambio en la configuración de los puertos u otro parámetro debemos ingresar lo siguiente:
#vi /etc/ssh/sshd_configPodemos ver que se despliega lo siguiente:
Podemos analizar cada una de las opciones según las necesidades que tengamos. Recordemos que cuando realicemos cualquier cambio en el archivo de configuración debemos reiniciar el servicio, para ello usaremos el comando:
service sshd restartValidamos la dirección IP que tiene nuestra máquina usando el comando ifconfig, en nuestro caso la IP es la 192.168.0.13. Vamos a realizar la conexión vía SSH usando el programa Putty, muy conocido por todos, el cual lo podemos descargar desde el siguiente enlace.
Una vez ejecutemos Putty simplemente ingresamos la dirección IP de la máquina Red Hat y el puerto por defecto (22) o el puerto que hayamos establecido.
Pulsamos Aceptar y veremos que se despliega un mensaje de seguridad el cual aceptamos y debemos ingresar nuestras credenciales para acceder al sistema:
Y de esta manera accedemos de forma segura a nuestro Red Hat 7.2:
Para acceder al servidor desde una máquina cliente debemos usar la sintaxis ssh nombre_equipo y si nos queremos conectar usando un nombre de usuario debemos ingresar lo siguiente:
ssh usuario@nombre_equipoPor ejemplo:
ssh root@192.168.0.13Como vemos SSH nos brinda una forma segura de acceder a nuestros servidores de manera remota con total confianza de que toda la información que sea tanto enviada como recibida contará con las mejores medidas de seguridad.