servidor protocolo funciona como ftp ssh sockets data-transfer

protocolo - sftp filezilla



qué es más seguro-Transferencia de datos usando la programación de socket O SSH/SCP/FTP (6)

Consideraría tres opciones principales:

  • FTPS (FTP sobre SSL / TLS): es equivalente a HTTPS que, en términos simples, significa que es una versión encriptada del protocolo FTP ordinario. Creo que es genial para descargar a través de Internet desde máquinas remotas y posiblemente públicas. Ofrece un mecanismo de autenticación superior en forma de certificados X.509. Hay algunos problemas con los firewalls porque usa, como lo hace FTP, dos conexiones. Si su objetivo es evitar que alguien vea lo que está descargando, esta es la solución perfecta de IMHO. Tiendo a usar este protocolo para acceder a máquinas que no controlo.

  • SFTP (SSH FTP): es un buen protocolo, tal vez un poco superior al FTPS, pero en mi opinión es más adecuado para un entorno controlado. Usaré este protocolo cuando quiera descargar un archivo de mi cuenta en una máquina a otra. O cuando quiero subir una nueva secuencia de comandos a un servidor. Es para mí el equivalente remoto de ir a la máquina con memoria USB e iniciar sesión en la máquina.

  • VPN: si esas máquinas son fijas, por así decirlo, siempre se está conectando a las mismas máquinas, consideraría usar VPN para ofrecer la seguridad. Las transmisiones están protegidas de terceros, el servidor se comporta como si estuviera en la misma red y puedo usar cualquier protocolo que desee.

Todavía estoy aprendiendo programación de socket (usando Perl) pero tengo dos opciones (programación de socket y SSH / SCP / FTP) disponibles para transferir los datos de máquinas remotas a mis servidores locales.

Pero tengo que seleccionar uno que sea más seguro (datos encriptados en la red) en términos de transferencia de datos. Alguna sugerencia.


El solo hecho de usar sockets no le brinda ningún tipo de seguridad. La elección correcta depende de la aplicación, los sistemas que está utilizando y cuánto entienden los usuarios sobre lo que deben hacer para usarlo. Por ejemplo, si está interactuando con un servidor web de forma segura, probablemente termine usando TLS / SSL para ello. Si solo está transfiriendo datos entre dos sistemas, usar ssh podría ser la forma más conveniente.

Cuando dices "seguridad", ¿buscas datos cifrados en la red? Autenticación de las partes que se comunican? ¿Ambos?

Otra alternativa es usar TLS / SSL, probablemente con el kit de herramientas OpenSSL (y hay módulos Perl con enlaces para ello). La programación es más complicada que con ssh, y tendrá que trabajar más en la autenticación para ello, por lo que vuelve a lo que sea que estás tratando de hacer.

Además, FTP tampoco es seguro por sí solo.


Los enchufes fuera de la caja no son seguros. Los datos se transmiten en forma cruda desde el punto A al punto B.

Agregar SSL agrega seguridad. Muchos protocolos admiten SSL. En particular, varios sabores de FTP y HTTP admiten SSL.

FTPS es ampliamente compatible con muchas plataformas y muchos clientes. Incluso si escribe un cliente personalizado, tener otros clientes como FileZilla a mano para la prueba es bueno.

Si comenzara desde cero en un sistema así, usaría FTPS.


SSH / SFTP / SCP hace todos los enchufes bajo la programación del socket. A menos que tenga un mejor algoritmo (para la seguridad) de lo que proporciona SSH, use un módulo SSH para Perl.


SSH es un protocolo de shell remoto y en sí mismo no se usa para la transferencia de archivos (como FTP). El protocolo de transferencia de archivos SCP era parte de SSH1 pero como SSH1 está desactualizado y defectuoso, no se recomienda el uso de SCP. En SSH2 (utilizado en todos los sistemas modernos) se usa SFTP (protocolo de transferencia de archivos SSH).

FTP (RFC 959) por sí solo no proporciona ninguna seguridad. Existen extensiones que le permiten ejecutar FTP sobre SSL / TLS (ya sea implícitamente, sobre un canal preencriptado, o explícitamente, a través de TLS como parte del protocolo FTP). FTP sobre SSL se llama FTPS (no lo mezcle con SFTP).

Puede leer descripciones detalladas de los pros y los contras de FTPS y SFTP aquí .


Toda la programación de red usa Sockets debajo del capó. Entonces, es más una cuestión de protocolos que usas.

En general, si quiere estar seguro, debe tunelizar su comunicación mediante SSL (https, sftp, ftps)