Azure Blob 儲存體中 SSH 檔案傳輸通訊協定 (SFTP) 支援的限制和已知問題
本文說明 Azure Blob 儲存體 SFTP 支援的限制和已知問題。
重要
由於您必須啟用帳戶的階層命名空間以使用 SFTP,因此 Azure Data Lake Storage 的已知問題一文中說明的所有已知問題也適用於您的帳戶。
已知不支援的用戶端
下列用戶端已知與 Azure Blob 儲存體的 SFTP 不相容。 如需詳細資訊,請參閱支援的演算法 (部分機器翻譯)。
- Kemp
- paramiko 1.16.0
- SSH.NET 2016.1.0
這份清單並不詳盡,而且可能會隨著時間而變更。
用戶端設定
若要透過 SFTP 用戶端將檔案傳輸至 Azure Blob 儲存體或從 Azure Blob 儲存體傳輸檔案,請參閱下列建議的設定。
WinSCP
- 在 [喜好設定] 對話方塊的 [傳輸] - [耐久性] 下,選取 [停用] 以停用 [啟用傳輸繼續/轉移至暫存檔名] 選項。
警告
啟用此選項可能會導致大型檔案上傳期間失敗或效能下降。
不支援的作業
類別 | 不支援的作業 |
---|---|
隨機寫入 | 同時包含 READ 和 WRITE 旗標的作業。 例如:SSH.NET 建立 API |
連結 | symlink - 建立符號連結ln - 建立永久連結 |
容量資訊 | df - 檔案系統的使用方式資訊 |
擴充 | 不支援的延伸模組包括但不限於:fsync@openssh.com、limits@openssh.com、lsetstat@openssh.com、statvfs@openssh.com |
SSH 命令 | SFTP 是唯一支援的子系統。 金鑰交換完成後的殼層要求將會失敗。 |
多重通訊協定寫入 | 不允許從使用 SFTP 所建立 Blob 上的其他通訊協定 (NFS、Blob REST、Data Lake Storage REST) 隨機寫入和附加 (PutBlock 、PutBlockList 、GetBlockList 、AppendBlock 、AppendFile )。 允許完整覆寫。 |
重新命名作業 | 目標檔案名已經存在的重新命名作業是通訊協定違規。 嘗試執行這類作業會傳回錯誤。 如需詳細資訊,請參閱移除和重新命名檔案。 |
跨容器作業 | 不支援在容器之間遍歷或從相同的連線中對多個容器執行作業。 |
還原 | 沒有任何方法可以還原具有 SFTP 的虛刪除 Blob。 必須使用 Undelete REST API。 |
驗證與授權
本機使用者是目前支援 SFTP 端點身分識別管理的唯一形式。
SFTP 端點不支援 Microsoft Entra ID。
若要深入了解,請參閱 SFTP 權限模型和 Azure Data Lake Storage 中的存取控制模型。
網路
若要使用 SFTP 存取儲存體帳戶,您的網路必須允許連接埠 22 上的流量。
儲存體帳戶不支援靜態 IP 位址。 這不是 SFTP 特定的限制。
閒置或非使用中的連接有 2 分鐘的逾時。 OpenSSH 會表現得像是停止回應,然後中斷連線。 某些用戶端會自動重新連線。
其他
如需效能問題和考量,請參閱 Azure Blob 儲存體中的 SSH 檔案傳輸通訊協定 (SFTP) 效能考量。
繼續和附加作業需要在您的訂用帳戶上啟用
SFTP Resumable Uploads
預覽功能。 如需有關啟用預覽功能的詳細資訊,請參閱在 Azure 訂用帳戶中設定預覽功能 (部分機器翻譯)。依預設,使用 SFTP 上傳之 Blob 的 Content-MD5 屬性會設定為 null。 因此,如果您希望這些 Blob 的 Content-MD5 屬性包含 MD5 雜湊值,則用您的戶端必須計算該值,然後在上傳 Blob 之前設定 Blob 的 Content-MD5 屬性。
透過 SFTP 端點的檔案上傳大小上限為 500 GB。
支援特定區域中處於預覽層級的客戶管理帳戶容錯移轉。 如需詳細資訊,請參閱 Azure 儲存體災害復原規劃與容錯移轉 (部分機器翻譯)。
若要變更儲存體帳戶的備援/複寫設定,則必須停用 SFTP。 轉換完成後,可能會重新啟用 SFTP。
無法透過 SFTP 端點存取特殊容器,例如 $logs、$blobchangefeed、$root、$web。
不支援符號連結。
不支援非 SFTP 的 SSH 和 SCP 命令。
不支援 FTPS 和 FTP。
TLS 和 SSL 與 SFTP 無關。
僅支援 SSH 第 2 版。
請避免使用以點 (.)、正斜線 (/) 或兩者連續或組合做為結尾的 Blob 或目錄名稱。 沒有路徑線段應該以點 (.) 結尾。 如需詳細資訊,請參閱 命名和參考容器、Blob 及中繼資料。
Blob 儲存體功能
當您啟用 SFTP 支援時,部分 Blob 儲存體功能將受到完整支援,但某些功能可能僅在預覽層級受到支援,或完全不受支援。
若要了解如何在已啟用 SFTP 支援的帳戶中支援每項 Blob 儲存體功能,請參閱 Azure 儲存體帳戶中的 Blob 儲存體功能支援。
疑難排解
若要解決此
Failed to update SFTP settings for account 'accountname'. Error: The value 'True' isn't allowed for property isSftpEnabled.
錯誤,請確定在儲存體帳戶層級符合下列先決條件:此帳戶必須是一般用途 v2 或進階區塊 Blob 帳戶。
帳戶必須啟用階層命名空間。
若要解決此
Home Directory not accessible error.
錯誤,請檢查:已將適當的權限指派給使用者。
針對沒有主目錄的本機使用者,會在連接字串中指定容器名稱。
針對所擁有主目錄不存在的本機使用者,會在連接字串中指定容器名稱。
若要在連線時解決
Received disconnect from XX.XXX.XX.XXX port 22:11:
,請檢查:公用網路存取為
Enabled from all networks
或Enabled from selected virtual networks and IP addresses
。防火牆允許用戶端 IP 位址。