# ¿Qué es el SCP protocol?

Existen varios tipos de herramientas y tecnologías a disposición de todo aquel que quiera transferir datos entre dos ordenadores. Los usuarios menos experimentados o sin ninguna experiencia previa tienen a su disposición una gran **variedad de programas cliente y de protocolos**. Este abanico de opciones puede hacer complicado encontrar la solución adecuada para llevar a cabo una transferencia de datos planificada. En particular, cuando lo que se envían son **datos sensibles**, pues se trata de algo más que una simple transferencia de A a B. En este caso, solo entran en juego aquellos métodos que ofrecen una seguridad adecuada.

Uno de esos métodos es la transferencia de datos a través de Secure Copy Protocol (SCP), diseñado específicamente para la **transferencia segura de información digital**. El artículo a continuación revela qué se esconde tras el SCP protocol y cómo funciona exactamente.

## ¿Qué es SCP?

Secure Copy Protocol (SCP), a menudo denominado simplemente Secure Copy, es un protocolo para sistemas informáticos, que garantiza la transferencia segura de datos entre **un equipo local** (*host* local) y **un equipo remoto** (*host* remoto) o, alternativamente, entre **dos equipos remotos**. Se basa en los **comandos RCP**, (*remote copy*), que se publicaron en 1982 como parte de los “comandos r” de la Universidad de California (Berkeley). Permiten el control de la transmisión de datos a través de la línea de comandos.

SCP ofrece un **método de autenticación** entre los dos equipos, así como un **cifrado de la transmisión**. Por lo tanto, el protocolo no solo garantiza la seguridad, sino también la autenticidad de los datos transferidos. En ambos mecanismos de seguridad el SCP protocol se basa en [SSH](https://www.ionos.es/digitalguide/servidores/herramientas/protocolo-ssh/ "Protocolo SSH") (Secure Shell), que también se utiliza en protocolos alternativos de transmisión como [FTP](https://www.ionos.es/digitalguide/servidores/know-how/file-transfer-protocol/ "File Transfer Protocol") (o SFTP). El puerto TCP que utiliza para la **transferencia a través de SCP** es el **puerto estándar SSH 22**.

Secure Copy es multiplataforma: existen aplicaciones y programas para los sistemas operativos más conocidos, como **Windows**, **macOS** y **Linux**, así como para **Android** y **iOS**.

## ¿Cómo funciona la transmisión con el SCP protocol?

Secure Copy requiere una autenticación de los dos equipos involucrados. Para que se pueda realizar la transmisión a través del protocolo, habrá que establecer, en primer lugar, una conexión SSH desde el equipo local al equipo de destino remoto. Para ello se necesitan, o bien los **datos de acceso SSH** o una **clave autorizada para la autenticación con clave pública**.

Nota Si se utiliza SCP para la **transferencia de archivos entre dos ordenadores remotos**, será necesaria una conexión SSH del sistema local que ejecuta el cliente SCP en el ordenador remoto, que en este caso actúa como equipo fuente.

Una vez que se establece la conexión SSH entre los dos equipos, el cliente SCP inicia un proceso de copia segura en la que están disponibles dos modos diferentes:

- **Modo fuente**: una solicitud SCP en modo fuente lee archivos en el sistema de destino y los envía de vuelta al cliente.
- **Modo *sink*:** se utiliza en las solicitudes a través del SCP protocol en páginas de clientes del modo *sink*, le indica al sistema remoto que se trata de datos entrantes y que deben escribirse en el sistema.

Los **clientes CPS** suelen utilizar el indicador ***-f*** (del inglés *from,* “de”), con el fin de activar el modo de fuente. Si se inicia el modo *sink* para enviar datos al equipo de destino, se utilizará en su lugar el indicador ***-t*** (del inglés *to,* “a”).

Nota La interacción entre Secure Copy y Secure Shell puede verse interrumpida por posibles mensajes de bienvenida cuando se produzca un inicio de sesión SSH. Como SCP no está preparado para **mensajes de texto**, los interpreta como mensajes de error y bloquea en consecuencia la transferencia.

## ¿Dónde y cómo se utiliza SCP (con ejemplo)?

Secure Copy es compatible de serie con todos los sistemas operativos principales y, gracias a la incorporación de SSH, ofrece un excelente paquete de seguridad. La combinación de **autenticación y cifrado lo** sitúa a la par con el popular protocolo SFTP, que también aprovecha los mecanismos de protección de Secure Shell. Puesto que SCP también aventaja a la variante FTP en términos de **velocidad de transmisión**, el protocolo es una excelente alternativa cuando se trata de **transferir archivos de forma segura y rápida a un servidor web o de compartir datos sensibles en una red de área local (por ejemplo, en una red corporativa)**.

Nota En 2019, el **Instituto Nacional de Estándares y Tecnología** estadounidense publicó un [informe oficial de seguridad](https://nvd.nist.gov/vuln/detail/CVE-2019-6111 "National Vulnerability Database: CVE-2019-6111") que puso sobre la mesa **las vulnerabilidades de las diferentes aplicaciones SCP**. Trata, sobre todo, el riesgo potencial de un [ataque de hombre intermedio](https://www.ionos.es/digitalguide/servidores/seguridad/ataques-man-in-the-middle-un-vistazo-general/ "Ataques man in the middle: un vistazo general") durante la transferencia SCP que permita a los atacantes sobrescribir los archivos en el directorio de destino o introducir malware clandestinamente. Entre los clientes afectados se encuentran, entre otros, Putty PSCP, OpenSSH y [WinSCP](https://www.ionos.es/digitalguide/hosting/cuestiones-tecnicas/transferencia-cifrada-de-datos-con-winscp/ "Transferencia cifrada de datos con WinSCP").

Además de los citados clientes, que se pueden descargar y utilizar de forma gratuita desde la web, MacOS, Windows y Linux también **están equipados de serie con un cliente Secure Copy** llamado **scp**. El recorrido desde la solicitud de entrada o terminal es, por lo tanto, la solución más rápida y sencilla para la transferencia de datos a través del SCP protocol, tal como ilustran los dos **ejemplos de entrada** siguientes:

```none
scp archivo de origen test@host:directorio/archivo de destino
```

Con este comando, cada **archivo de origen se copia en el directorio especificado en el equipo de destino**, en el que el usuario debe haber iniciado sesión a través de SSH con el nombre “test”. Si un archivo de un sistema remoto se **transfiere en el participante SCP local**, el comando sería el siguiente:

```none
scp test@host:directorio/archivo de destino
```

## Los principales comandos SCP de un vistazo

La **sintaxis básica** de las líneas de los comandos para controlar el cliente de SCP nativo en Windows y en los demás sistemas operativos ya ha quedado clara en los ejemplos anteriores. Sin embargo, ambos ejemplos de código solo muestran un proceso de copia sencillo que no incluye opciones adicionales que la herramienta SCP sí ofrece. Si estas **opciones** forman parte de un comando, **preceden a la información sobre los archivos y los equipos**, de manera que la estructura sintáctica completa quedaría de la siguiente manera:

```none
scp [Opcion(es)] [archivo de origen] [usuario@host:directorio/archivo de destino]
scp [Opcion(es)] [usuario@host:directorio/archivo de origen] [archivo de destino]
```

Las principales opciones para personalizar las consultas Secure Copy con SCP se resumen en la siguiente tabla:

<table>
  <thead>
    <tr>
      <th>Opción SCP</th>
      <th>Función</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>-1</td>
      <td>Da la orden de utilizar la versión 1 del SCP protocol</td>
    </tr>
    <tr>
      <td>-2</td>
      <td>Da la orden de utilizar la versión 2 del SCP protocol</td>
    </tr>
    <tr>
      <td>-C</td>
      <td>Activa la compresión GZIP de la conexión SSH encriptada</td>
    </tr>
    <tr>
      <td>-B</td>
      <td>Inicia la sesión sin solicitar la contraseña</td>
    </tr>
    <tr>
      <td>-l limit</td>
      <td>Establece un límite de ancho de banda (kbps) para la transferencia de archivos</td>
    </tr>
    <tr>
      <td>-o ssh\_option</td>
      <td>Permite la definición de opciones SSH concretas, como el cifrado</td>
    </tr>
    <tr>
      <td>-P port</td>
      <td>Especifica el puerto en el sistema remoto a través del que se debe establecer la conexión</td>
    </tr>
    <tr>
      <td>-p</td>
      <td>Conserva los metadatos del archivo original (como los cambios y los tiempos de acceso)</td>
    </tr>
    <tr>
      <td>-q</td>
      <td>Oculta los marcadores de progreso durante la transferencia</td>
    </tr>
    <tr>
      <td>-r</td>
      <td>Copia todo el directorio de forma recursiva, incluidos los subdirectorios</td>
    </tr>
    <tr>
      <td>-S programa</td>
      <td>Especifica el programa que debe utilizarse para la conexión cifrada (el programa debe ser compatible con las opciones SSH)</td>
    </tr>
  </tbody>
</table>


This is a markdown version of: [https://www.ionos.es/digitalguide/servidores/know-how/scp-secure-copy/](https://www.ionos.es/digitalguide/servidores/know-how/scp-secure-copy/) for AI/LLM consumption.