

# Transferir archivos a instancias de Linux mediante SCP
<a name="linux-file-transfer-scp"></a>

Una de las formas de transferir archivos entre el equipo local y una instancia de Linux consiste en utilizar el protocolo de copia segura (SCP). SCP es una buena opción para operaciones sencillas, como copias de archivos puntuales. SCP protege las transferencias de archivos mediante el mismo archivo .pem que se utiliza para conectarse a una instancia mediante SSH. Si usted necesita mantener los archivos sincronizados, o si los archivos son grandes, **rsync** es más rápido y eficiente que SCP. Por motivos de seguridad, utilice **rsync** sobre SSH, ya que **rsync** transfiere los datos mediante texto sin formato de forma predeterminada.

Antes de conectarse a la instancia de Linux mediante SCP, complete las siguientes tareas:
+ **Complete los requisitos previos generales.**
  + Verifique que su instancia ha pasado las comprobaciones de estado. Puede que transcurran unos minutos hasta que la instancia esté lista para aceptar solicitudes de conexión. Para obtener más información, consulte [Ver comprobaciones de estado](viewing_status.md).
  + [Obtenga los detalles necesarios de la instancia](connection-prereqs-general.md#connection-prereqs-get-info-about-instance).
  + [Busque la clave privada y establezca permisos.](connection-prereqs-general.md#connection-prereqs-private-key).
  + [(Opcional) Obtenga la huella digital de la instancia](connection-prereqs-general.md#connection-prereqs-fingerprint).
+ **Permita el tráfico entrante de SSH desde la dirección IP.**

  Asegúrese de que el grupo de seguridad asociado a la instancia permita el tráfico SSH que ingresa desde la dirección IP. Para obtener más información, consulte [Reglas para conectarse a las instancias desde un equipo](security-group-rules-reference.md#sg-rules-local-access).
+ **Instale un cliente SCP.**

  La mayoría de equipos Linux, Unix y Apple incluyen un cliente SCP de forma predeterminada. Si el equipo no lo incluye, el proyecto OpenSSH proporciona una implementación gratuita de toda la suite de herramientas de SSH, incluido un cliente SCP. Para obtener más información, consulte [https://www.openssh.com](https://www.openssh.com).

El procedimiento siguiente le guiará a través del uso de SCP para transferir un archivo utilizando el nombre DNS público de la instancia, o la dirección IPv6 si la instancia tiene una.

**Para utilizar SCP para transferir archivos entre el equipo y la instancia**

1. Determine la ubicación del archivo de origen en el equipo y la ruta de destino en la instancia. En los ejemplos siguientes, el nombre del archivo de clave privada es `key-pair-name.pem`, el archivo que se va a transferir es `my-file.txt`, el nombre de usuario de la instancia es ec2-user, el nombre DNS público de la instancia es `instance-public-dns-name` y la dirección IPv6 de la instancia es `2001:db8::1234:5678:1.2.3.4`.
   + (DNS público) Para transferir un archivo al destino de la instancia, escriba el siguiente comando desde el equipo.

     ```
     scp -i /path/key-pair-name.pem /path/my-file.txt ec2-user@instance-public-dns-name:path/
     ```
   + (IPv6) Para transferir un archivo al destino de la instancia si la instancia tiene una dirección IPv6, escriba el siguiente comando desde el equipo. La dirección IPv6 se debe escribir entre corchetes (`[ ]`), a los que se deben aplicar escape (`\`).

     ```
     scp -i /path/key-pair-name.pem /path/my-file.txt ec2-user@\[2001:db8::1234:5678:1.2.3.4\]:path/
     ```

1. Si aún no se ha conectado a la instancia mediante SSH, verá una respuesta como la siguiente:

   ```
   The authenticity of host 'ec2-198-51-100-1.compute-1.amazonaws.com (10.254.142.33)'
   can't be established.
   RSA key fingerprint is 1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f.
   Are you sure you want to continue connecting (yes/no)?
   ```

   (Opcional) Si lo desea, puede comprobar que la huella digital de la alerta de seguridad coincide con la huella digital de la instancia. Para obtener más información, consulte [(Opcional) Obtenga la huella digital de la instancia](connection-prereqs-general.md#connection-prereqs-fingerprint).

   Escriba **yes**.

1. Si la transferencia se realiza correctamente, la respuesta será similar a la siguiente:

   ```
   Warning: Permanently added 'ec2-198-51-100-1.compute-1.amazonaws.com' (RSA) 
   to the list of known hosts.
   my-file.txt                                100%   480     24.4KB/s   00:00
   ```

1. Para transferir un archivo en la otra dirección (desde la instancia Amazon EC2 al equipo), revierta el orden de los parámetros de host. Por ejemplo, puede transferir `my-file.txt` desde la instancia de EC2 al destino en el equipo local `my-file2.txt`, como se muestra en los siguientes ejemplos.
   + (DNS público) Para transferir un archivo a un destino del equipo, escriba el siguiente comando desde el equipo.

     ```
     scp -i /path/key-pair-name.pem ec2-user@instance-public-dns-name:path/my-file.txt path/my-file2.txt
     ```
   + (IPv6) Para transferir un archivo a un destino del equipo si la instancia tiene una dirección IPv6, escriba el siguiente comando desde el equipo. La dirección IPv6 se debe escribir entre corchetes (`[ ]`), a los que se deben aplicar escape (`\`).

     ```
     scp -i /path/key-pair-name.pem ec2-user@\[2001:db8::1234:5678:1.2.3.4\]:path/my-file.txt path/my-file2.txt
     ```