Los fundamentos de la transferencia segura de archivos

LinuxBeginner
Practicar Ahora

Introducción

Esta práctica cubrirá los conceptos básicos de cómo utilizar la línea de comandos de Linux para transferir archivos utilizando SFTP, FTP y SCP. Estas herramientas se utilizan comúnmente para transferir archivos a y desde servidores remotos y pueden ser útiles para tareas como la carga de archivos de un sitio web a un servidor o la descarga de datos de una máquina remota.

Hemos configurado un servidor SFTP y FTP en el entorno de la práctica. Cuando lo utilices en la realidad, asegúrate de tener las credenciales necesarias para acceder al servidor remoto (como un nombre de usuario y una contraseña) y de que el servidor esté configurado para permitir transferencias de archivos a través de SFTP, FTP y SCP.

Logros

  • sftp - Protocolo de Transferencia de Archivos Seguro
  • ftp - Protocolo de Transferencia de Archivos
  • scp - Copia Segura
Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel principiante con una tasa de finalización del 84%. Ha recibido una tasa de reseñas positivas del 85% por parte de los estudiantes.

Conectarse a un servidor remoto con SFTP

SFTP (Protocolo de Transferencia de Archivos Seguro) es una forma segura de transferir archivos entre una máquina local y un servidor remoto.

Para conectarse a un servidor remoto utilizando SFTP, puedes utilizar el comando sftp seguido del nombre de usuario y la dirección IP o el nombre de host del servidor. Por ejemplo:

La contraseña para el usuario sftpuser es 123456.

sftp sftpuser@127.0.0.1
## Escribe yes para aceptar la huella digital del servidor

Se te pedirá la contraseña del usuario. Una vez que hayas introducido la contraseña correcta, estarás conectado al servidor remoto.

Transferir archivos con SFTP

Una vez que esté conectado al servidor remoto, puede transferir archivos utilizando los comandos put y get.

Para cargar un archivo desde su máquina local al servidor remoto, utilice el comando put seguido de la ruta al archivo local. Por ejemplo:

put /home/labex/.zshrc

Para descargar un archivo desde el servidor remoto a su máquina local, utilice el comando get seguido de la ruta al archivo remoto. Por ejemplo:

get .zshrc

Cuando haya terminado de transferir archivos, puede cerrar la conexión SFTP utilizando el comando exit.

exit

Asegúrese de cerrar la conexión SFTP antes de hacer clic en el botón "Continue" (Continuar).

Conectarse a un servidor remoto con FTP

FTP (Protocolo de Transferencia de Archivos) es un protocolo de red estándar utilizado para transferir archivos entre una máquina local y un servidor remoto. Es menos seguro que SFTP, ya que transmite datos en texto plano.

Puedes comprobar el estado del servicio FTP ejecutando el siguiente comando:

sudo service vsftpd status

Si el servicio FTP no está en ejecución, puedes iniciarlo ejecutando el siguiente comando:

sudo service vsftpd start

Para conectarse a un servidor remoto utilizando FTP, puedes utilizar el comando ftp seguido de la dirección IP o el nombre de host del servidor. Por ejemplo:

El nombre de usuario para el ftp es ftpuser y la contraseña es 123456

ftp 127.0.0.1

Se te pedirá el nombre de usuario y la contraseña del servidor. Una vez que hayas introducido las credenciales correctas, estarás conectado al servidor remoto.

Transferir Archivos con FTP

Una vez que esté conectado al servidor remoto, puede transferir archivos utilizando los comandos put y get.

Para cargar un archivo desde su máquina local al servidor remoto, utilice el comando put seguido de la ruta al archivo local. Por ejemplo:

## Upload .zshrc file to the server and rename it to zshrc-upload
put /home/labex/.zshrc zshrc-upload

El archivo se cargará al directorio actual en el servidor (/home/ftpuser).

Para descargar un archivo desde el servidor remoto a su máquina local, utilice el comando get seguido de la ruta al archivo remoto. Por ejemplo:

get zshrc-upload

El archivo se descargará al directorio actual en la máquina local.

Para obtener más información sobre los comandos FTP, ejecute el comando help en la shell FTP (intérprete de comandos FTP).

Cuando haya terminado de transferir archivos, puede cerrar la conexión FTP utilizando el comando bye o exit.

bye

Asegúrese de cerrar la conexión FTP antes de hacer clic en el botón "Continue" (Continuar).

Copiar archivo al servidor remoto

SCP (Copia Segura) es una utilidad de línea de comandos que te permite transferir archivos de manera segura entre una máquina local y un servidor remoto, o entre dos servidores remotos. Utiliza SSH (Shell Seguro) para cifrar los datos que se transfieren, lo que garantiza que los archivos se transmitan de manera segura.

La sintaxis básica del comando scp es la siguiente:

scp [opciones] [origen] [destino]

Los argumentos origen y destino pueden ser un archivo o directorio local, o un archivo o directorio remoto en el formato nombreusuario@host:ruta.

Por ejemplo, para copiar un archivo file.txt desde tu máquina local a un servidor remoto con la dirección IP 127.0.0.1, utilizarías el siguiente comando:

Para obtener la contraseña del usuario labex, escribe printenv | grep PASSWORD en la terminal de escritorio.

Ejemplo de comando SCP
cd ~/proyecto

## Ver la contraseña del usuario labex
printenv | grep PASSWORD

## Copiar el archivo al servidor remoto
scp file.txt labex@127.0.0.1:/home/labex/file-scp.txt

## Ingresar la contraseña del usuario labex

Descargar archivos desde el servidor remoto

También puedes utilizar scp para descargar archivos desde un servidor remoto.

Por ejemplo, para descargar un archivo file.txt de un servidor remoto con la dirección IP 127.0.0.1 a la máquina local, utilizarías el siguiente comando:

scp labex@127.0.0.1:/home/labex/file-scp.txt /home/labex/file-scp-new.txt

También puedes establecer el directorio local como destino, asegúrate de incluir la barra diagonal final (/) en la ruta.

Opciones avanzadas de SCP

scp también tiene varias opciones avanzadas que se pueden utilizar para personalizar la transferencia de archivos. Algunas de las opciones más comúnmente utilizadas incluyen:

  • -r - Esta opción te permite copiar recursivamente directorios completos.
  • -C - Esta opción habilita la compresión durante la transferencia de archivos, lo que puede ser útil al transferir archivos grandes a través de una conexión lenta.
  • -P - Esta opción te permite especificar un número de puerto para la conexión.

Por ejemplo, para copiar el directorio ~/Escritorio de la máquina local a un servidor remoto con la dirección IP 127.0.0.1 utilizando compresión y especificando un número de puerto, utilizarías el siguiente comando:

scp -r -C -P 22 ~/Escritorio labex@127.0.0.1:/home/labex/Código/

Resumen

Esta práctica presentó los comandos Linux SFTP, FTP y SCP, que se utilizan para transferir archivos entre una máquina local y un servidor remoto o entre dos servidores remotos. SFTP es una forma segura de transferir archivos, mientras que FTP es un protocolo de red estándar que es menos seguro que SFTP. SCP es una utilidad de línea de comandos que te permite transferir archivos de manera segura entre una máquina local y un servidor remoto o entre dos servidores remotos utilizando SSH (Secure Shell) para cifrar los datos que se transfieren. También cubrió algunas opciones avanzadas disponibles con el comando SCP que se pueden utilizar para personalizar la transferencia de archivos, como las opciones -r, -C y -P.