Limitaciones y problemas conocidos de la compatibilidad con el Protocolo de transferencia de archivos de SSH (SFTP) en Azure Blob Storage

Este artículo describe limitaciones y problemas conocidos con SFTP en Azure Blob Storage para que puedas solucionar transferencias de archivos y verificar la compatibilidad entre clientes y flujos de trabajo.

Importante

Como debes habilitar el espacio de nombres jerárquico para usar SFTP, los problemas en Problemas conocidos con Azure Data Lake Storage también se aplican a tu cuenta.

Clientes no admitidos

Los siguientes clientes no son compatibles con SFTP para Azure Blob Storage. Para más información, consulte Algoritmos admitidos.

  • Kemp
  • Paramiko 1.16.0
  • SSH.NET 2016.1.0 o una versión anterior
  • Renci SSH.NET 2014.6.0

Esta lista no es exhaustiva y puede cambiar con el tiempo.

Configuración de cliente

Para transferir archivos hacia o desde Azure Blob Storage a través de clientes SFTP, consulte la siguiente configuración recomendada.

  • WinSCP

    • En el cuadro de diálogo Preferencias, seleccione Transferencia>Persistencia y, a continuación, establezca Permitir reanudar la transferencia/transferir a un nombre de archivo temporal en Deshabilitar.

Precaución

Dejar esta opción habilitada puede provocar errores o un rendimiento degradado durante cargas de archivos grandes.

Operaciones no admitidas

Categoría Operaciones no admitidas
Escrituras aleatorias Operaciones que incluyen marcas READ y WRITE. Por ejemplo: SSH.NET crear API
Vínculos
  • symlink - crear vínculos simbólicos
  • ln - crear vínculos físicos
  • Enlaces de lectura no compatibles
  • Información de capacidad df - información de uso del sistema de archivos
    Extensiones Las extensiones no admitidas incluyen, pero no se limitan a: fsync@openssh.com, limits@openssh.com, lsetstat@openssh.com, statvfs@openssh.com
    Comandos SSH SFTP es el único subsistema admitido. Las solicitudes de shell tras el intercambio de claves fallan.
    Escrituras de varios protocolos No se permiten las escrituras aleatorias y los anexos (PutBlock,PutBlockList, GetBlockList, AppendBlock, AppendFile) desde otros protocolos (NFS, Blob REST, Data Lake Storage REST) en blobs creados mediante SFTP. Se permiten sobrescrituras completas.
    Operaciones de cambio de nombre Las operaciones de cambio de nombre en las que el nombre de archivo de destino ya existe constituyen una infracción del protocolo. Si se intenta esta operación, se devuelve un error. Consulte Eliminación y cambio de nombre de archivos para obtener más información.
    Operaciones de contenedor cruzado No se admite el recorrido entre contenedores ni realizar operaciones en varios contenedores desde la misma conexión.
    Deshacer eliminación No puedes restaurar un blob eliminado suavemente usando SFTP. Usa la Undelete API REST.

    ACLs de acceso y ACLs predeterminadas

    • SFTP no admite actualmente ACL predeterminadas ni ACL de acceso adicionales (entradas de ACL más allá de las entradas POSIX user::, group::, y other::, por ejemplo, usuarios con nombre o grupos con nombre).

    • Si algún directorio en la ruta de acceso (incluido el directorio principal del usuario) tiene ACLs predeterminadas o ACLs de acceso adicionales activadas, las operaciones SFTP fallan con Permission denied, incluso cuando el usuario que se conecta tiene permisos necesarios.

    Solución alternativa: Quite las ACL predeterminadas y las ACL de acceso adicionales de todos los directorios de la ruta de acceso SFTP (incluido el directorio principal del usuario) para que solo permanezcan las entradas POSIX user::, group::y other:: .

    Para obtener más información sobre las ACL y cómo puede editarlas, consulte Listas de control de acceso (ACL).

    Redes

    • Para acceder a la cuenta de almacenamiento usando SFTP, tu red debe permitir el tráfico en el puerto 22.

    • Las cuentas de almacenamiento no soportan direcciones IP estáticas. Esta limitación no es específica del SFTP.

    • Las conexiones inactivas o en reposo se agotan tras dos minutos. OpenSSH deja de responder y luego se desconecta. Algunos clientes se vuelven a conectar automáticamente.

    Limitaciones adicionales del SFTP

    • Para conocer los problemas y consideraciones de rendimiento, consulte Consideraciones de rendimiento del Protocolo de transferencia de archivos SSH (SFTP) en Azure Blob Storage.

    • Por defecto, la propiedad Content-MD5 de los blobs subidos usando SFTP es nula. Para llenar esta propiedad con un hash MD5, tu cliente debe calcular el hash y establecer la propiedad Content-MD5 antes de subir el blob.

    • El tamaño máximo de subida del archivo a través del endpoint SFTP es de 500 GB.

    • Se admite la conmutación por error planificada administrada por el cliente para las cuentas estándar de uso general v2 y, en versión preliminar, para las cuentas premium de blobs en bloque. Para más información, consulte Planeamiento y conmutación por error de Azure Storage.

    • Para cambiar la redundancia o la configuración de replicación de la cuenta de almacenamiento, debes desactivar SFTP. Puedes volver a activar SFTP una vez que termine la conversión.

    • No puedes acceder a contenedores especiales como $logs, $blobchangefeed, $root, y $web a través del endpoint SFTP.

    • No se admiten FTPS ni FTP.

    • SFTP no usa TLS ni SSL.

    • Solo se admite la versión 2 de SSH.

    • Evite los nombres de blob o directorio que terminan con un punto (.), una barra diagonal (/), una barra diagonal inversa () o una secuencia o combinación de los dos. Ningún segmento de trazado debe terminar con un punto (.). Para más información, consulte Naming and Referencing Containers, Blobs, and Metadata (Asignación de nombres y referencia a contenedores, blobs y metadatos).

    Características de Blob Storage

    Cuando activas el soporte para SFTP, algunas funciones de Blob Storage están totalmente soportadas, pero algunas pueden estar soportadas solo a nivel de vista previa o aún no estar soportadas en absoluto.

    Para ver cómo se admite cada característica de Blob Storage en cuentas que tienen habilitada la compatibilidad con SFTP, consulte Compatibilidad con características de Blob Storage en cuentas de Azure Storage.

    Solución de problemas

    • Para resolver el Failed to update SFTP settings for account 'accountname'. Error: The value 'True' isn't allowed for property isSftpEnabled. error, verifica que la cuenta de almacenamiento cumpla con los siguientes requisitos:

      • La cuenta es una cuenta blob de uso general v2 o premium block.

      • El espacio de nombres jerárquico está habilitado para la cuenta.

    • Para resolver el error Home Directory not accessible, compruebe lo siguiente:

      • El usuario tiene los permisos apropiados para el contenedor.

      • La cadena de conexión especifica el nombre del contenedor para los usuarios locales que no tienen directorio personal.

      • La cadena de conexión especifica el nombre del contenedor para usuarios locales cuyo directorio personal no existe.

    • Para resolver Received disconnect from XX.XXX.XX.XXX port 22:11: al conectarse, compruebe lo siguiente:

      • El acceso de red pública es Enabled from all networks o Enabled from selected virtual networks and IP addresses.

      • El firewall autoriza la dirección IP del cliente.

    Consulte también