Ograniczenia i znane problemy z obsługą protokołu SSH File Transfer Protocol (SFTP) dla usługi Azure Blob Storage

Ten artykuł opisuje ograniczenia i znane problemy z SFTP w Azure Blob Storage, dzięki czemu możesz rozwiązywać problemy z transferem plików oraz weryfikować kompatybilność klienta i workflow.

Ważne

Ponieważ musisz włączyć hierarchiczną przestrzeń nazw, aby korzystać z SFTP, problemy z Znane problemy z Azure Data Lake Storage dotyczą także Twojego konta.

Nieobsługiwani klienci

Następujący klienci są znani jako niezgodni z protokołem SFTP dla usługi Azure Blob Storage. Aby uzyskać więcej informacji, zobacz Obsługiwane algorytmy.

  • Kemp
  • Paramiko 1.16.0
  • SSH.NET 2016.1.0 lub starsze
  • Renci SSH.NET 2014.6.0

Ta lista nie jest wyczerpująca i może ulec zmianie w czasie.

Ustawienia klienta

Aby przenieść pliki do usługi Azure Blob Storage lub z usługi Azure Blob Storage za pośrednictwem klientów SFTP, zobacz następujące zalecane ustawienia.

  • WinSCP

    • W oknie Preferencje wybierz Wytrzymałość transferu>, a następnie ustaw Włącz wznowienie transferu/przeniesienie do tymczasowej nazwy pliku na Wyłącz.

Uwaga

Pozostawienie tej opcji włączonej może spowodować błędy lub obniżoną wydajność podczas przekazywania dużych plików.

Nieobsługiwane operacje

Kategoria Nieobsługiwane operacje
Losowe zapisy Operacje zawierające flagi READ i WRITE. Na przykład: SSH.NET tworzenie interfejsu API
Linki
  • symlink - Tworzenie linków symbolicznych
  • ln - tworzenie twardych linków
  • Obsługa odczytu linków nie jest dostępna
  • Informacje o pojemności df — informacje o użyciu systemu plików
    Rozszerzenia Nieobsługiwane rozszerzenia obejmują, ale nie są ograniczone do: fsync@openssh.com, , limits@openssh.com, lsetstat@openssh.comstatvfs@openssh.com
    Polecenia SSH SFTP jest jedynym obsługiwanym podsystemem. Żądania powłoki po wymianie kluczy kończą się niepowodzeniem.
    Zapisy obsługujące wiele protokołów Losowe zapisy i dopisywania (PutBlock,PutBlockList, GetBlockList, AppendBlock, AppendFile) nie są dozwolone z innych protokołów (NFS, Blob REST, Data Lake Storage REST) na obiektach blob tworzonych przy użyciu SFTP. Pełne zastąpienia są dozwolone.
    Operacje zmiany nazwy Operacje zmiany nazwy, w których nazwa pliku docelowego już istnieje, jest naruszeniem protokołu. Próba wykonania takiej operacji zwraca błąd. Aby uzyskać więcej informacji, zobacz Usuwanie i zmienianie nazw plików .
    Operacje między kontenerami Przechodzenie między kontenerami lub wykonywanie operacji na wielu kontenerach z tego samego połączenia nie jest obsługiwane.
    Cofnij usunięcie Nie można przywrócić miękko usuniętego obiektu blob za pomocą protokołu SFTP. Użyj Undelete API REST.

    Dostęp do ACL i domyślnych ACL

    • SfTP obecnie nie obsługuje Domyślnych ACL ani dodatkowych ACL Dostępu (wpisów ACL wykraczających poza standardowe wpisy POSIX user::, group:: i other:: takie jak nazwani użytkownicy czy nazwane grupy).

    • Jeśli dowolny katalog na ścieżce dostępu (w tym katalog domowy użytkownika) ma ustawione domyślne ACL lub dodatkowe ACL dostępu, operacje SFTP zawodzą z Permission denied, nawet gdy użytkownik łączący się ma wymagane uprawnienia.

    Obejście: Usuń domyślne listy kontroli dostępu (ACL) i dodatkowe listy ACL dostępu ze wszystkich katalogów w ścieżce dostępu SFTP (w tym katalogu domowego użytkownika), aby pozostały jedynie wpisy POSIX user::, group::, i other::.

    Aby uzyskać więcej informacji na temat list ACL i sposobu ich edytowania, zobacz Listy kontroli dostępu (ACL).

    Sieć

    • Aby uzyskać dostęp do konta pamięci masowej za pomocą SFTP, sieć musi umożliwić ruch na porcie 22.

    • Konta pamięci masowej nie obsługują statycznych adresów IP. To ograniczenie nie dotyczy tylko SFTP.

    • Bezczynne lub nieaktywne połączenia kończą się po dwóch minutach. OpenSSH przestaje odpowiadać i potem się rozłącza. Niektórzy klienci nawiążą ponowne połączenie automatycznie.

    Dodatkowe ograniczenia SFTP

    • Aby zapoznać się z problemami i zagadnieniami dotyczącymi wydajności, zobacz Zagadnienia dotyczące wydajności protokołu SSH File Transfer Protocol (SFTP) w usłudze Azure Blob Storage.

    • Domyślnie właściwość Content-MD5 dotycząca blobów przesyłanych za pomocą SFTP jest null. Aby wypełnić tę właściwość hashem MD5, klient musi obliczyć hash i ustawić właściwość Content-MD5 przed przesłaniem bloba.

    • Maksymalny rozmiar pliku przesyłanego przez punkt końcowy SFTP wynosi 500 GB.

    • Zarządzane przez klienta planowane przełączanie awaryjne jest obsługiwane dla standardowych kont ogólnego przeznaczenia v2 oraz na poziomie podglądu dla kont bloków premium blob. Aby uzyskać więcej informacji, zobacz Planowanie odzyskiwania po awarii usługi Azure Storage i przechodzenie w tryb failover.

    • Aby zmienić ustawienia redundancji lub replikacji konta magazynowego, musisz wyłączyć SFTP. Możesz ponownie włączyć SFTP po zakończeniu konwersji.

    • Nie możesz uzyskać dostępu do specjalnych kontenerów, takich jak $logs, $blobchangefeed, $root, ani $web przez punkt końcowy SFTP.

    • FtpS i FTP nie są obsługiwane.

    • SFTP nie używa TLS ani SSL.

    • Obsługiwany jest tylko protokół SSH w wersji 2.

    • Unikaj nazw obiektów blob lub katalogów kończących się kropką (.), ukośnikiem (/), ukośnikiem odwrotnym (\) lub ich kombinacją. Żadne segmenty ścieżki nie powinny kończyć się kropką (.). Aby uzyskać więcej informacji, zobacz Nazewnictwo i odwoływanie się do kontenerów, obiektów blob i metadanych.

    Funkcje usługi Blob Storage

    Po włączeniu wsparcia SFTP niektóre funkcje Blob Storage są w pełni wspierane, ale niektóre mogą być wspierane tylko na poziomie podglądu lub jeszcze w ogóle nie być wspierane.

    Aby zobaczyć, jak każda funkcja usługi Blob Storage jest obsługiwana na kontach z włączoną obsługą protokołu SFTP, zobacz Obsługa funkcji usługi Blob Storage dla kont usługi Azure Storage.

    Rozwiązywanie problemów

    • Aby rozwiązać błąd Failed to update SFTP settings for account 'accountname'. Error: The value 'True' isn't allowed for property isSftpEnabled., sprawdź, czy konto magazynu spełnia następujące wymagania:

      • Konto jest kontem ogólnego przeznaczenia v2 lub premium block blob.

      • Hierarchiczna przestrzeń nazw jest włączona dla tego konta.

    • Aby rozwiązać błąd Home Directory not accessible, sprawdź, czy:

      • Użytkownik posiada odpowiednie uprawnienia do kontenera.

      • Ciąg parametry połączenia określa nazwę kontenera dla lokalnych użytkowników, którzy nie mają katalogu głównego.

      • parametry połączenia określa nazwę kontenera dla lokalnych użytkowników, których katalog domowy nie istnieje.

    • Aby rozwiązać problem podczas nawiązywania Received disconnect from XX.XXX.XX.XXX port 22:11: połączenia, sprawdź, czy:

      • Dostęp do sieci publicznej to Enabled from all networks lub Enabled from selected virtual networks and IP addresses.

      • Adres IP klienta jest przepuszczany przez zaporę sieciową.

    Zobacz też