Comando Linux sftp

Linux 命令大全Manual completo de comandos Linux


¿Qué es sftp?

SFTP (SSH File Transfer Protocol) es un protocolo seguro de transferencia de archivos que transfiere archivos a través de un canal cifrado SSH (Secure Shell). A diferencia del FTP tradicional, SFTP ofrece mayor seguridad; todos los datos transferidos se cifran.

Diferencias entre SFTP y FTP

Característica SFTP FTP
Seguridad Transmisión cifrada Transmisión en texto plano
Puerto 22 (puerto SSH) 21 (puerto de control) + 20 (puerto de datos)
Protocolo Basado en SSH Protocolo independiente
Compatibilidad con cortafuegos Solo necesita abrir un puerto Necesita abrir varios puertos

Sintaxis básica del comando sftp

sftp [选项] [用户名@]主机名[:路径]

Opciones y parámetros comunes

Opción Descripción
-P 端口号 Especifica el puerto de conexión (por defecto 22)
-b 批处理文件 Ejecuta comandos de un archivo por lotes
-r Copia recursivamente todo el directorio
-v Muestra información de depuración detallada
-i 私钥文件 Usar el archivo de clave privada especificado para autenticación

Conectar al servidor SFTP

Método de conexión básica

Ejemplo

sftp username@hostname

Ejemplo:

Ejemplo

sftp user@example.com

Conexión con puerto específico

Si el servidor usa un puerto no estándar (no el 22):

Ejemplo

sftp -P 2222 user@example.com

Usar autenticación con clave

Ejemplo

sftp -i ~/.ssh/id_rsa user@example.com

Comandos de operación comunes de SFTP

1. Operaciones con archivos locales

Comando Descripción
lls Lista el contenido del directorio local
lcd Cambia el directorio de trabajo local
lmkdir Crea un directorio en local
lrm Elimina archivos locales

2. Operaciones con archivos remotos

Comando Descripción
ls Lista el contenido del directorio remoto
cd Cambia el directorio de trabajo remoto
mkdir Crea un directorio en remoto
rm Elimina archivos remotos
rename Renombra archivos remotos

3. Transferencia de archivos

Comando Descripción
put 本地文件 [远程路径] Sube archivos al servidor remoto
get 远程文件 [本地路径] Descarga archivos del servidor remoto
mput 本地文件* Sube múltiples archivos
mget 远程文件* Descarga múltiples archivos

Ejemplos prácticos

Ejemplo 1: Subir un archivo al servidor

Ejemplo

sftp user@example.com
sftp> cd /var/www/html
sftp> put index.html
sftp> exit

Ejemplo 2: Descargar todo un directorio (recursivo)

Ejemplo

sftp -r user@example.com:/backups /local/backups

Ejemplo 3: Usar archivos por lotes

Crearsftp_commands.txt:

put file1.txt
put file2.txt
get report.pdf
exit

Ejecutar el lote:

Ejemplo

sftp -b sftp_commands.txt user@example.com

Consejos avanzados

1. Transferir múltiples archivos con comodines

Ejemplo

sftp> mput *.jpg      # Subir todos los archivos jpg
sftp> mget log_*.txt  # Descargar todos los archivos txt que comiencen con log_

2. Cambiar permisos de archivos

Ejemplo

sftp> chmod 644 index.html

3. Ver información de archivos

Ejemplo

sftp> ls -l

4. Usar enlaces simbólicos

Ejemplo

sftp> symlink /path/to/original /path/to/link

Solución de problemas comunes

1. Conexión rechazada

  • Comprueba si el servidor tiene el servicio SSH en ejecución
  • Verifica que el puerto sea correcto
  • Revisa la configuración del cortafuegos

2. Fallo de autenticación

  • Confirma que el nombre de usuario y la contraseña sean correctos
  • Verifica los permisos del archivo de clave (deben ser 600)
  • Asegúrate de que tu clave pública esté en el servidor

3. Transferencia de archivos interrumpida

  • Comprueba la conexión de red
  • Intenta usarregetyreputel comando para reanudar la transferencia

4. Permisos insuficientes

  • Comprueba los permisos de escritura del directorio remoto
  • Puede ser necesario usarsudo(pero sftp normalmente no admite sudo directo)

Mejores prácticas de seguridad

  1. Usar autenticación con claveen lugar de autenticación por contraseña
  2. Limitar los permisos de los usuarios, usar entorno chroot
  3. Actualizar periódicamenteel software del servidor SSH
  4. Deshabilitar el inicio de sesión root, usar un usuario normal + sudo
  5. Supervisar los archivos de registro(/var/log/auth.log)

Resumen

SFTP es una herramienta importante para transferir archivos de forma segura en sistemas Linux. Con esta guía, deberías haber aprendido:

  • Los conceptos básicos de SFTP y los métodos de conexión
  • Los comandos comunes de operación y transferencia de archivos
  • Trucos prácticos de procesamiento por lotes y consejos avanzados
  • Soluciones a problemas comunes
  • Mejores prácticas para un uso seguro

¡Ahora puedes transferir archivos entre tu equipo local y el servidor remoto de forma segura y eficiente!

Linux 命令大全Manual completo de comandos Linux

Otras extensiones