Beperkingen en bekende problemen met SSH File Transfer Protocol (SFTP) voor Azure Blob Storage

Dit artikel beschrijft beperkingen en bekende problemen met SFTP in Azure Blob Storage, zodat je bestandsoverdrachten kunt oplossen en client- en workflowcompatibiliteit kunt verifiëren.

Belangrijk

Omdat je hiërarchische naamruimte moet inschakelen om SFTP te gebruiken, gelden de problemen in Bekende problemen met Azure Data Lake Storage ook voor je account.

Niet-ondersteunde clients

Het is bekend dat de volgende clients niet compatibel zijn met SFTP voor Azure Blob Storage. Zie Ondersteunde algoritmen voor meer informatie.

  • Kemp
  • paramiko 1.16.0
  • SSH.NET 2016.1.0 of ouder
  • Renci SSH.NET 2014.6.0

Deze lijst is niet volledig en kan na verloop van tijd veranderen.

Clientinstellingen

Zie de volgende aanbevolen instellingen om bestanden over te dragen naar of van Azure Blob Storage via SFTP-clients.

  • WinSCP

    • Selecteer in het dialoogvenster VoorkeurenOverdracht> en zet vervolgens Hervatten van overdracht inschakelen/overdracht naar tijdelijke bestandsnaam op Uitschakelen.

Waarschuwing

Als u deze optie ingeschakeld laat, kunnen fouten of verminderde prestaties optreden tijdens het uploaden van grote bestanden.

Niet-ondersteunde bewerkingen

Categorie Niet-ondersteunde bewerkingen
Willekeurige schrijfbewerkingen Bewerkingen met zowel READ- als WRITE-vlaggen. Bijvoorbeeld: SSH.NET API maken
Verwijzingen
  • symlink - symbolische koppelingen maken
  • ln - het maken van vaste koppelingen
  • Leeskoppelingen worden niet ondersteund
  • Capaciteitsgegevens df - gebruiksgegevens voor bestandssysteem
    Uitbreidingen Niet-ondersteunde extensies omvatten, maar zijn niet beperkt tot: fsync@openssh.com, limits@openssh.com, , lsetstat@openssh.comstatvfs@openssh.com
    SSH-opdrachten SFTP is het enige ondersteunde subsysteem. Shell-verzoeken na sleuteluitwisseling mislukken.
    Schrijfbewerkingen met meerdere protocollen Willekeurige schrijf- en toevoegbewerkingen (PutBlock,PutBlockList, GetBlockList, AppendBlock, AppendFile) zijn niet toegestaan vanuit andere protocollen (NFS, Blob REST, Data Lake Storage REST) op blobs die worden gemaakt met behulp van SFTP. Volledige overschrijvingen zijn toegestaan.
    Naam van bewerkingen wijzigen Naamswijzigingsbewerkingen waarbij de naam van het doelbestand al bestaat, is een protocolschending. Als u een dergelijke bewerking probeert uit te voeren, wordt een fout geretourneerd. Zie Bestanden verwijderen en de naam ervan wijzigen voor meer informatie.
    Operaties tussen containers Doorkruisen tussen containers of het uitvoeren van bewerkingen op meerdere containers vanuit dezelfde verbinding worden niet ondersteund.
    Verwijderen ongedaan maken Je kunt een zacht verwijderde blob niet herstellen door SFTP te gebruiken. Gebruik de Undelete REST API.

    Toegang tot ACL's en standaard ACL's

    • SFTP biedt momenteel geen ondersteuning voor standaard-ACL's of extra toegangs-ACL's (ACL-vermeldingen buiten posixuser::group::) en other:: vermeldingen, zoals benoemde gebruikers of benoemde groepen).

    • Als een map in het toegangspad (inclusief de thuismap van de gebruiker) Default ACL's of extra Access ACL's heeft ingesteld, falen SFTP-operaties met Permission denied, zelfs wanneer de verbindende gebruiker de vereiste rechten heeft.

    Oplossing: Verwijder standaard-ACL's en extra toegangs-ACL's uit alle mappen in het SFTP-toegangspad (inclusief de basismap van de gebruiker), zodat alleen POSIX user::en group::other:: vermeldingen behouden blijven.

    Zie Toegangsbeheerlijsten (ACL's) voor meer informatie over ACL's en hoe u ze kunt bewerken.

    Netwerken

    • Om toegang te krijgen tot het opslagaccount via SFTP, moet je netwerk verkeer toestaan op poort 22.

    • Opslagaccounts ondersteunen geen statische IP-adressen. Deze beperking geldt niet specifiek voor SFTP.

    • Idle of inactieve verbindingen lopen na twee minuten uit. OpenSSH stopt met reageren en verbreekt dan de verbinding. Sommige clients maken automatisch opnieuw verbinding.

    Aanvullende SFTP-beperkingen

    • Zie prestatieoverwegingen voor SSH File Transfer Protocol (SFTP) in Azure Blob Storage voor prestatieproblemen en overwegingen.

    • Standaard is de Content-MD5-eigenschap van blobs die worden geüpload met SFTP null. Om deze eigenschap te vullen met een MD5-hash, moet je client de hash berekenen en de Content-MD5-eigenschap instellen voordat de blob wordt geüpload.

    • De maximale uploadgrootte via het SFTP-eindpunt is 500 GB.

    • Klantbeheerde geplande failover wordt ondersteund voor standaard algemene v2-accounts en op preview-niveau voor premium block blob-accounts. Zie voor meer informatie noodherstelplanning en failover van Azure Storage.

    • Om de redundantie- of replicatie-instellingen van het opslagaccount te wijzigen, moet je SFTP uitschakelen. Je kunt SFTP weer inschakelen nadat de conversie is voltooid.

    • Je kunt geen speciale containers zoals $logs, $blobchangefeed, , $rooten $web via het SFTP-eindpunt benaderen.

    • FTPS en FTP worden niet ondersteund.

    • SFTP gebruikt geen TLS of SSL.

    • Alleen SSH versie 2 wordt ondersteund.

    • Vermijd blob- of mapnamen die eindigen op een punt (.), een slash (/), een backslash () of een reeks of combinatie van de twee. Er mogen geen padsegmenten eindigen met een punt (.). Zie Naamgeving en verwijzingen naar containers, blobs en metagegevens voor meer informatie.

    Blob Storage-functies

    Wanneer je SFTP-ondersteuning inschakelt, worden sommige Blob Storage-functies volledig ondersteund, maar sommige functies worden misschien alleen op preview-niveau ondersteund of zijn nog helemaal niet ondersteund.

    Als u wilt zien hoe elke Blob Storage-functie wordt ondersteund in accounts waarvoor SFTP-ondersteuning is ingeschakeld, raadpleegt u de functieondersteuning voor Blob Storage voor Azure Storage-accounts.

    Probleemoplossingsproces

    • Om de fout op te Failed to update SFTP settings for account 'accountname'. Error: The value 'True' isn't allowed for property isSftpEnabled. lossen, controleer je dat het opslagaccount aan de volgende voorwaarden voldoet:

      • Het account is een algemeen v2- of premium block blob-account.

      • Hiërarchische naamruimte is ingeschakeld voor het account.

    • Als u de Home Directory not accessible fout wilt oplossen, controleert u of:

      • De gebruiker heeft de juiste rechten voor de container.

      • De verbindingsreeks specificeert de containernaam voor lokale gebruikers die geen basismap hebben.

      • De verbindingsreeks specificeert de containernaam voor lokale gebruikers van wie de thuismap niet bestaat.

    • Als u het Received disconnect from XX.XXX.XX.XXX port 22:11: probleem wilt oplossen wanneer u verbinding maakt, controleert u het volgende:

      • Openbare netwerktoegang is Enabled from all networks of Enabled from selected virtual networks and IP addresses.

      • Het IP-adres van de client is toegestaan door de firewall.

    Zie ook