Limitações e problemas conhecidos com o suporte ao Protocolo de Transferência de Arquivo SSH (SFTP) no Armazenamento de Blobs do Azure

Este artigo descreve limitações e problemas conhecidos com SFTP no Armazenamento de Blobs do Azure para que você possa diagnosticar transferências de arquivos e verificar a compatibilidade de clientes e fluxos de trabalho.

Importante

Como você precisa habilitar o namespace hierárquico para usar SFTP, os problemas em Problemas conhecidos com Azure Data Lake Storage também se aplicam à sua conta.

Clientes não suportados

Os clientes a seguir são conhecidos por serem incompatíveis com o SFTP para Armazenamento de Blobs do Azure. Para obter mais informações, consulte Algoritmos com suporte.

  • Kemp
  • paramiko 1.16.0
  • SSH.NET 2016.1.0 ou anterior
  • Renci SSH.NET 2014.6.0

Essa lista não é completa e pode mudar ao longo do tempo.

Configurações de cliente

Para transferir arquivos de ou para o Armazenamento de Blobs do Azure por meio de clientes SFTP, confira as configurações recomendadas a seguir.

  • WinSCP

    • No diálogo Preferências, selecione Transferência>Resistência e, em seguida, defina Ativar retomada de transferência/transferência para nome de arquivo temporário como Desabilitar.

Cuidado

Deixar essa opção habilitada pode causar falhas ou desempenho degradado durante uploads de arquivos grandes.

Operações sem suporte

Categoria Operações sem suporte
Escritas aleatórias Operações que incluem sinalizadores de LEITURA e ESCRITA. Por exemplo: SSH.NET criar API
Links
  • symlink - criando links simbólicos
  • ln - criando links rígidos
  • Não há suporte para a leitura de links
  • Informações de capacidade df - informações de uso para o sistema de arquivos
    Extensões As extensões sem suporte incluem, mas não se limitam a: fsync@openssh.com, limits@openssh.com, lsetstat@openssh.com, statvfs@openssh.com
    Comandos SSH O SFTP é o único subsistema com suporte. As requisições do shell falham após a troca de chaves.
    Gravações de vários protocolos Gravações aleatórias e acréscimos (PutBlock,PutBlockList, GetBlockList, AppendBlock, AppendFile) não são permitidos de outros protocolos (NFS, REST de Blob, REST do Data Lake Storage) em blobs criados usando SFTP. Substituições completas são permitidas.
    Operações de renomeação As operações de renomeação quando o nome do arquivo de destino já existe são uma violação de protocolo. A tentativa de tal operação retornará um erro. Confira Remover e renomear arquivos para obter mais informações.
    Operações entre contêineres Não há suporte para a passagem entre contêineres ou a execução de operações em vários contêineres da mesma conexão.
    Restaurar Você não pode restaurar um blob deletado manualmente usando SFTP. Use a Undelete API REST.

    ACLs de acesso e ACLs padrão

    • Atualmente, o SFTP não dá suporte a ACLs padrão ou ACLs de acesso adicionais (entradas ACL além das entradas POSIX user::, group::, e other::, como usuários ou grupos nomeados).

    • Se qualquer diretório no caminho de acesso (incluindo o diretório inicial do usuário) tiver ACLs Padrão ou ACLs de acesso adicionais ativadas, as operações SFTP falham com Permission denied, mesmo quando o usuário conectado possui permissões necessárias.

    Solução alternativa: Remova ACLs padrão e ACLs de acesso adicionais de todos os diretórios no caminho de acesso SFTP (incluindo o diretório base do usuário) para que apenas POSIX user::group::e other:: entradas permaneçam.

    Para obter mais detalhes sobre ACLs e como você pode editá-las, consulte ACLs (listas de controle de acesso).

    Rede

    • Para acessar a conta de armazenamento usando SFTP, sua rede deve permitir o tráfego na porta 22.

    • Contas de armazenamento não suportam endereços IP estáticos. Essa limitação não é específica do SFTP.

    • Conexões ociosas ou inativas acabam após dois minutos. O OpenSSH para de responder e depois desconecta. Alguns clientes se reconectam automaticamente.

    Limitações adicionais do SFTP

    • Para problemas de desempenho e considerações, consulte Considerações de desempenho do SFTP (Protocolo de Transferência de Arquivo SSH) no Armazenamento de Blobs do Azure.

    • Por padrão, a propriedade Content-MD5 dos blobs enviados usando SFTP é nula. Para preencher essa propriedade com um hash MD5, seu cliente deve calcular o hash e definir a propriedade Content-MD5 antes de enviar o blob.

    • O tamanho máximo de upload do arquivo via endpoint SFTP é de 500 GB.

    • O failover planejado gerenciado pelo cliente tem suporte para contas padrão de uso geral v2 e, em versão prévia, para contas premium de blob em blocos. Para obter mais informações, consulte planejamento de recuperação de desastres e failover do armazenamento do Azure.

    • Para alterar as configurações de redundância ou replicação da conta de armazenamento, você deve desativar o SFTP. Você pode reativar o SFTP depois que a conversão terminar.

    • Você não pode acessar containers especiais como $logs, $blobchangefeed, $root, e $web via endpoint SFTP.

    • Não há suporte para FTPS e FTP.

    • O SFTP não usa TLS ou SSL.

    • Há suporte apenas para a versão 2 do SSH.

    • Evite nomes de blobs ou diretórios que terminem com um ponto (.), uma barra (/), uma barra invertida () ou uma sequência ou combinação dos dois. Nenhum segmento de linha deve terminar com um ponto (.). Para obter mais informações, veja Nomeando e referenciando contêineres, blobs e metadados.

    Recursos de Armazenamento de Blobs

    Quando você ativa o suporte a SFTP, alguns recursos do Armazenamento de Blobs são totalmente suportados, mas alguns podem ser suportados apenas no nível de prévia ou ainda não serem suportados.

    Para ver como cada recurso de Armazenamento de Blobs tem suporte em contas que têm suporte de SFTP habilitado, consulte o suporte a recursos de Armazenamento de Blobs para contas de Armazenamento do Azure.

    Solução de problemas

    • Para resolver o Failed to update SFTP settings for account 'accountname'. Error: The value 'True' isn't allowed for property isSftpEnabled. erro, verifique se a conta de armazenamento atende aos seguintes pré-requisitos:

      • A conta é uma conta de uso geral v2 ou uma conta de blob de blocos premium.

      • O namespace hierárquico é ativado para a conta.

    • Para resolver o erro Home Directory not accessible, verifique se:

      • O usuário tem permissões apropriadas para o contêiner.

      • A cadeia de conexão especifica o nome do contêiner para usuários locais que não possuem um diretório home.

      • A cadeia de conexão especifica o nome do contêiner para usuários locais cujo diretório inicial não existe.

    • Para resolver o problema Received disconnect from XX.XXX.XX.XXX port 22:11: ao conectar, verifique se:

      • O acesso à rede pública é Enabled from all networks ou Enabled from selected virtual networks and IP addresses.

      • O endereço IP do cliente é permitido pelo firewall.

    Confira também