Pregunta ¿Cuál es la diferencia entre SCP y SFTP?


Por lo general, uso el scp comando para transferir archivos en * nixes.

¿Cuál es la diferencia entre SFTP y SCP? ¿No trabajan ambos en SSH?


143


origen




Respuestas:


En pocas palabras, SCP solo se puede usar para transferir archivos, y no es interactivo (es decir, todo debe especificarse en la línea de comandos). SFTP es más elaborado y permite que los comandos interactivos hagan cosas como crear directorios, eliminar directorios y archivos (todo sujeto a permisos del sistema, por supuesto), etc.


89



Con respecto a la interactividad: la diferencia que describes es sobre clientes SFTP / SCP específicos tal como se implementan en OpenSSH. No es nada sobre los protocolos en sí mismos. Es perfectamente posible implementar un cliente SCP interactivo o un cliente SFTP no interactivo. - Martin Prikryl
Una cosa más: scp no funciona si el servidor solo permite el acceso SFTP a través de la línea ForceCommand internal-sftp. creo PermitTTY no también evita el acceso a scp, pero permite el acceso sftp, aunque podría haber escrito mal mi contraseña cada vez que lo intenté. Pero esas dos cosas no deberían prevenir sftp. Fuente: experiencia personal. - ecube
¿Puedo suponer que cualquier servidor SFTP también puede aceptar transferencias SCP? - gus
@gus no, mira el comentario de ecube - Pere


De Wikipedia:

Comparado con el protocolo SCP anterior,   que solo permite transferencias de archivos,   El protocolo SFTP permite una gama de   operaciones en archivos remotos, es   más como un sistema de archivos remoto   protocolo. Un cliente de SFTP extra   capacidades en comparación con un cliente SCP   incluir la reanudación interrumpida   transferencias, listas de directorios y   eliminación remota de archivos. [1] Para estos   razones por las cuales es relativamente simple   implementar un cliente GUI SFTP comparado   con un cliente GUI SCP.

y

Aunque tanto SCP como SFTP utilizan   mismo cifrado SSH durante el archivo   transferencia con el mismo nivel general   de gastos generales, SCP suele ser mucho   más rápido que SFTP en la transferencia   archivos, especialmente en alta latencia   redes. Esto sucede porque SCP   implementa una transferencia más eficiente   Algoritmo, uno que no requiere   esperando confirmaciones de paquetes. Esta   lleva a una velocidad más rápida, pero llega a la   gasto de no poder interrumpir   una transferencia, por lo que a diferencia de SFTP, SCP   la transferencia no puede ser cancelada sin   terminando la sesión.


97



"SCP suele ser mucho más rápido que SFTP en la transferencia de archivos". - Micah Bolen
"Pero se produce a expensas de no poder interrumpir una transferencia". Esa es una importante compensación. - aaaaaa


Desde una perspectiva puramente de línea de comando:

  • scp no tiene un modo interactivo ni puede leer scripts de comando, eso significa que todo debe escribirse en la línea de comando.
  • sftp tiene un modo interactivo y puede leer comandos desde un archivo.

Otra diferencia importante entre los 2 comandos es que sftp no se puede poner un archivo local en una ubicación remota con una sola línea de comando


6





SSH (Secure SHell) es un protocolo de red criptográfica que permite el inicio de sesión remoto y otros servicios de red para operar de manera segura a través de una red no segura.

Diferencias SFTP funciona en modo interactivo (sesión) y SCP funciona en modo no interactivo. Al usar SFTP, podemos acceder al sistema de archivos remoto, es decir, crear, eliminar y enumerar archivos.

Semejanzas Ambos SCP (Secure doopy PAGrotocol) y SFTP (SSH File TTransferencia PAGrotocol) son protocolos de red, que admiten la administración de archivos entre hosts en una red. Ambos usan SSH.

Más


1





La mayoría de las diferencias de los dos protocolos ya se han dicho en otras respuestas, y más ampliamente en https://unix.stackexchange.com/q/8707/19088

Otra diferencia, según el documentación de curl, es que el protocolo SCP no es muy portátil y, por lo general, solo funciona entre sistemas Unix.

Por cierto, rizo implementa ambos protocolos y, a diferencia de la implementación predeterminada del cliente OpenSSH SFTP, es no interactivo para SFTP y SCP.

Y tenga en cuenta que también está el PESCADO protocolo, que le permite transferir archivos a través de SSH sin la necesidad de SCP o SFTP. Por lo que sé, FISH no es muy popular, actualmente implementado en solo unos pocos administradores de archivos (Midnight Commander y algunos que están basados ​​en KDE) y Lftp.


0



"Otra diferencia, según la documentación de curl, es que el protocolo SCP no es muy portátil y, por lo general, solo funciona entre sistemas Unix". La ironía de esta parte de su respuesta es que la GUI más popular de SCP se llama WinSCP, y - usted lo ha adivinado - es un programa de Windows. - brett
@brett, el cliente más popular es probablemente el scp de OpenSSH, diría que está muy implementado. WinSCP es un cliente SCP / SFTP / etc, pero hoy en día se utiliza principalmente como cliente (S) FTP: "En junio de 2003 se lanzó la versión 3.0, presentando soporte para la alternativa a SCP, el protocolo SFTP. Con el tiempo evolucionó desde la alternativa para el protocolo primario. A pesar de esto, se conservó el nombre bien establecido "WinSCP". (de History of WinSCP: winscp.net/eng/docs/project_history) - Pere