SSH, que significa «Secure Shell«, es un protocolo de red que permite la comunicación segura entre dos dispositivos a través de una red no segura. Se utiliza principalmente para acceder y gestionar servidores de forma remota, proporcionando un canal seguro para la transmisión de datos.
¿Para qué sirve SSH?
- Acceso remoto seguro: Permite a los usuarios conectarse a un servidor de forma segura, protegiendo la información transmitida de posibles «interceptaciones»…
- Transferencia de archivos: SSH se puede utilizar junto con herramientas como SCP (Secure Copy Protocol, ver ejemplos) y SFTP (SSH File Transfer Protocol, ver ejemplos) para transferir archivos de manera segura entre dispositivos
- Túneles seguros: SSH puede crear túneles seguros para redirigir el tráfico de otras aplicaciones a través de una conexión segura
- Ejecutar comandos remotos: Permite a los usuarios ejecutar comandos en un servidor remoto como si estuvieran trabajando directamente en él
- Gestión de claves: SSH permite la autenticación mediante claves públicas y privadas, lo que mejora la seguridad en comparación con las contraseñas
Ejemplos útiles de uso de SSH
Conexión a un servidor remoto:
ssh usuario@direccion_ip_del_servidor
Este comando permite conectarse a un servidor remoto utilizando el nombre de usuario especificado.
Si el equipo al que quieres conectarte remotamente está en la misma red, también puedes escribir solo el nombre del equipo, sin el usuario (luego te lo solicitará):
<code>ssh nombre_equipocode>
Y si estuviera en una red distinta:
<code>ssh direccion_ip_equipocode>
Transferencia de archivos con SCP:
<code>scp archivo.txt usuario@direccion_ip_del_servidor:/ruta/destino/ code>
Este comando copia un archivo desde la máquina local a un servidor remoto.
Uso de SFTP para transferencias interactivas:
<code>sftp usuario@direccion_ip_del_servidor code>
Esto inicia una sesión SFTP donde se pueden usar comandos como put y get para subir y bajar archivos.
Ejecutar un comando remoto:
ssh usuario@direccion_ip_del_servidor ‘comando_a_ejecutar’
Este comando permite ejecutar un comando específico en el servidor remoto sin necesidad de iniciar una sesión interactiva.
Crear un túnel SSH:
<code>ssh -L puerto_local:direccion_destino:puerto_remoto usuario@direccion_ip_del_servidorcode>
(todo en la misma línea)
Esto redirige el tráfico desde un puerto local a un puerto remoto a través del servidor SSH, útil para acceder a servicios que no están expuestos directamente a Internet.
SSH es una herramienta fundamental para administradores de sistemas y desarrolladores, ya que proporciona un medio seguro y eficiente para gestionar servidores y transferir datos.
Comando put y get:
Los comandos put y get son utilizados en el contexto de la transferencia de archivos, especialmente en protocolos como FTP (Protocolo de Transferencia de Archivos) y SFTP (FTP Seguro). Aquí te explico cada uno:
Comando put
- Función: El comando put se utiliza para subir archivos desde tu máquina local a un servidor remoto.
- Uso: Cuando ejecutas put, seleccionas un archivo en tu sistema local que deseas transferir al servidor. Por ejemplo, si estás utilizando un cliente FTP, lo harías así:
<code>put archivo.txtcode>
Esto subiría el archivo archivo.txt al directorio actual del servidor remoto.
Comando get
- Función: El comando get se utiliza para bajar archivos desde un servidor remoto a tu máquina local
- Uso: Al ejecutar get, seleccionas un archivo en el servidor que deseas descargar a tu sistema local Por ejemplo:
<code>get archivo.txtcode>
Esto descargaría el archivo archivo.txt desde el servidor al directorio actual de tu máquina local.
Resumen
- put: Sube archivos al servidor.
- get: Baja archivos del servidor.
Estos comandos también son importantes para la gestión de archivos en entornos de red y muy utilizados en la administración de servidores y en la transferencia de datos.