# SSH File Transfer Protocol

En computación, SFTP (SSH File Transfer Protocol, «Protocolo de Transferencia de Archivos por SSH», aunque también conocido como Secure File Transfer Protocol, «Protocolo Seguro de Transferencia de Archivos») es un protocolo de red que proporciona acceso, transferencia y administración de archivos a través de cualquier flujo de datos.

## Capacidades

SFTP intenta ser más independiente de la plataforma que SCP, por ejemplo, SCP soporta expansión de comodines especificados por el cliente hasta el servidor, mientras que el diseño SFTP evita este problema. Aunque SCP se aplica con más frecuencia en plataformas Unix, existen servidores SFTP en la mayoría de las plataformas.
El Secure Internet Live Conferencing (SILC) define el protocolo SFTP como su protocolo de transferencia de archivos por omisión. En el SILC, los datos del protocolo SFTP no están protegidos con SSH pero el protocolo de paquetes seguros de SILC se utiliza para encapsular los datos SFTP dentro de los paquetes de SILC para que se la llevara de igual a igual (peer to peer, P2P). Esto es posible ya que SFTP está diseñado para ser un protocolo independiente.
SFTP utiliza el puerto 22 de TCP.

## Subida de archivos

Para la subida de archivos, los archivos transferidos pueden estar asociados con sus atributos básicos, como el de tiempo. Esta última es una ventaja sobre el protocolo FTP común, ya que no dispone de ningún crédito para incluir archivos en la fecha original.

## Clientes de SFTP

Para los clientes que utilizan SFTP, los programas de SFTP ofrece una interfaz interactiva similar a la de los tradicionales programas de FTP.
Algunas implementaciones del programa SCP, en realidad usan el protocolo SFTP para realizar transferencias de archivos, sin embargo, algunas de estas implementaciones están todavía en condiciones de emergencia al protocolo SCP si el servidor SFTP no ofrece servicio.

## SFTP en la actualidad

En cuanto a la utilización o normalización del protocolo, no es aún un estándar de Internet. La última especificación es un caducado Proyecto de Internet, que define la versión 6 del protocolo. En la actualidad, la versión más utilizada es la versión 3, ejecutada por el popular servidor de SFTP OpenSSH. Muchos Windows basan sus implementaciones en servidores SFTP al utilizar la versión 4 del protocolo, que redujo sus vínculos con la plataforma Unix.

## Algunas confusiones

Un error muy común que suele ocurrir cuando se nombra SFTP es pensar en que el protocolo SFTP se obtiene al ejecutar FTP sobre SSH, realmente estamos ante un nuevo protocolo diseñado por el grupo de trabajo IETF SECSH. Otro error generalizado es la confusión de las siglas SFTP ya que muchas veces es confundido con el Protocolo Simple de Transferencia de Archivos, un programa de línea de comando que el cliente ejecuta parte de este protocolo.
El protocolo SFTP en sí no facilita la autenticación y la seguridad, sino que espera que el protocolo subyacente proporcione esa seguridad. SFTP es utilizado frecuentemente como subsistema del protocolo SSH, al haber sido diseñadas por el mismo grupo, sin embargo, es posible ejecutarlo a través de SSH (y algunas implementaciones que lo soporten) o de otros flujos de datos. Un cliente de protocolo SFTP dispuesto a conectarse a un servidor SSH necesita conocer la ruta de acceso al binario del servidor SFTP en el lado del servidor.