Cómo transferir archivos de forma segura con SFTP

Cómo transferir archivos de forma segura con SFTP

Introducción

Transferir archivos entre computadoras puede ser un dolor. FTP es algo torpe y antiguo, y el uso de servicios en línea no es directo y es menos que ideal para manejar archivos sensibles. Git funciona bien para el código y el texto, pero no es lo mejor para los archivos binarios y requiere que se configure un repositorio. Entonces, ¿cuál es una buena solución para enviar archivos directamente entre las computadoras?? Sftp.

SFTP es un protocolo seguro de transferencia de archivos que utiliza SSH para enviar archivos entre computadoras. Está encriptado y directo. Le permite usar un servicio existente para enviar archivos, reduciendo así su superficie de ataque, y elimina la necesidad de confiar en contraseñas potencialmente vulnerables para transferencias de archivos.

Antes de ir más allá, debe configurar las teclas SSH para las máquinas con las que desea trabajar. Si no sabe cómo, consulte nuestra guía sobre la configuración de la autenticación basada en la tecla SSH.

El caso contra FTP

FTP apesta. No hay forma de evitarlo. FTP es susceptible a muchas hazañas de seguridad, y sigue siendo un objetivo favorito para los posibles atacantes. También se basa en la autenticación de contraseña, lo que hace que una forma más posible de atacante pueda destruir su sistema.

Lo que hace que todo esto sea especialmente malo es el hecho de que el propósito de FTPS es transferir archivos. Eso significa que los mecanismos ya están en su lugar para que un atacante cargue y ejecute código malicioso en su máquina.

Si es posible, evite FTP.

Conexión

La sintaxis de SFTP es muy similar a SSH. Conectarse a un servidor no es muy diferente usando SFTP que con SSH.

$ SFTP Nombre de [email protected]

Que establecerá una conexión y lo dejará en un shell SFTP modificado.

Es posible que necesite usar un puerto diferente para SSH/SFTP. En ese caso, especifíquelo con el -PAG bandera.

$ SFTP -P 35000 Nombre de [email protected]

Envío de archivos

Desde el shell SFTP, puede usar los comandos incorporados de SFTP para enviar y recibir archivos. Los comandos para cualquier dirección son similares a CP sintaxis. Para enviar un archivo, use el poner dominio.

poner Tomará un archivo local y lo colocará en el directorio de trabajo actual de la máquina remota.

sftp> poner el archivo local

El archivo local será transferido a su directorio actual. Las carpetas son similares. Como CP, puedes usar el -riñonal bandera para copiar un directorio y su contenido.

sftp> put -r localdir

Recibir archivos

Tirar de los archivos funciona casi igual con el conseguir dominio. En este caso, no depende de su directorio actual. Puede especificar una ruta de archivo para copiar y una ubicación a la que le gustaría copiarla.

sftp> obtener remoto

Esto solo obtendrá el archivo y lo colocará en su directorio actual.

SFTP> Obtener remoto/ruta/a/localfile

Lo anterior obtendrá el mismo archivo remoto y lo colocará en un directorio local específico.

También puedes usar el -riñonal marcar con conseguir Para copiar un directorio completo.

sftp> get -r/rath/do/remotedir ruta/a/localdir

Si es necesario preservar los permisos exactos del directorio, agregue el -PAG indicar.

sftp> get -pr/path/do/remotedir ruta/a/localdir

Pensamientos de cierre

Una vez más, la simplicidad de la línea de comandos llega. De acuerdo, obviamente puedes usar FTP desde la línea de comando, pero la mayoría de las personas confían en aplicaciones de GUI innecesariamente voluminosas para ello. Aún así, SFTP proporciona una forma simple, limpia y segura de transferir archivos. Como beneficio adicional, reduce la cantidad de servicios que necesita ejecutar, le permite cerrar un puerto más y reduce la superficie de ataque general de sus servidores. Eso parece una victoria en general, si alguna vez hubo una.

Tutoriales de Linux relacionados:

  • Cómo configurar el servidor FTP/SFTP y el cliente en Almalinux
  • Configurar servidor FTP en Linux
  • Lista e instalación de clientes FTP en Ubuntu 22.04 Linux ..
  • Cómo conectarse a un servidor FTP usando Python
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Lista e instalación de clientes FTP en Ubuntu 20.04 Linux ..
  • Cosas para instalar en Ubuntu 20.04
  • Cómo configurar el servidor SFTP en Ubuntu 22.04 Jellyfish de Jammy ..
  • Mastering Bash Script Loops
  • Tutorial Git para principiantes