You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/storage/blobs/secure-file-transfer-protocol-known-issues.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,15 +20,15 @@ This article describes limitations and known issues of SFTP support for Azure Bl
20
20
21
21
## Known unsupported clients
22
22
23
-
The following clients are known to be incompatible with SFTP for Azure Blob Storage. See [Supported algorithms](secure-file-transfer-protocol-support.md#supported-algorithms) for more information.
23
+
The following clients are known to be incompatible with SFTP for Azure Blob Storage. For more information, see [Supported algorithms](secure-file-transfer-protocol-support.md#supported-algorithms).
24
24
25
25
- Five9
26
26
- Kemp
27
27
- Mule
28
28
- paramiko 1.16.0
29
29
- SSH.NET 2016.1.0
30
30
31
-
The unsupported client list above isn't exhaustive and may change over time.
31
+
This list isn't exhaustive and might change over time.
32
32
33
33
## Client settings
34
34
@@ -51,7 +51,7 @@ To transfer files to or from Azure Blob Storage via SFTP clients, see the follow
| SSH Commands | SFTP is the only supported subsystem. Shell requests after the completion of key exchange will fail. |
53
53
| Multi-protocol writes | Random writes and appends (`PutBlock`,`PutBlockList`, `GetBlockList`, `AppendBlock`, `AppendFile`) aren't allowed from other protocols (NFS, Blob REST, Data Lake Storage Gen2 REST) on blobs that are created by using SFTP. Full overwrites are allowed.|
54
-
| Rename Operations | Rename operations where the target file name already exists is a protocol violation. Attempting such an operation will return an error. See [Removing and Renaming Files](https://datatracker.ietf.org/doc/html/draft-ietf-secsh-filexfer-02#section-6.5) for more information.|
54
+
| Rename Operations | Rename operations where the target file name already exists is a protocol violation. Attempting such an operation returns an error. See [Removing and Renaming Files](https://datatracker.ietf.org/doc/html/draft-ietf-secsh-filexfer-02#section-6.5) for more information.|
55
55
| Cross Container Operations | Traversing between containers or performing operations on multiple containers from the same connection are unsupported.
56
56
57
57
## Authentication and authorization
@@ -82,7 +82,7 @@ To learn more, see [SFTP permission model](secure-file-transfer-protocol-support
82
82
83
83
- Maximum file upload size via the SFTP endpoint is 100 GB.
84
84
85
-
- To change the storage account's redundancy/replication settings or initiate account failover, SFTP must be disabled. SFTP may be re-enabled once the conversion has completed.
85
+
- To change the storage account's redundancy/replication settings or initiate account failover, SFTP must be disabled. SFTP may be re-enabled once the conversion has completed.
86
86
87
87
- Special containers such as $logs, $blobchangefeed, $root, $web aren't accessible via the SFTP endpoint.
Copy file name to clipboardExpand all lines: articles/storage/blobs/secure-file-transfer-protocol-performance.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,13 +14,13 @@ ms.author: normesta
14
14
15
15
# SSH File Transfer Protocol (SFTP) performance considerations in Azure Blob storage
16
16
17
-
Blob storage now supports the SSH File Transfer Protocol (SFTP). This article contains recommendations that will help you to optimize the performance of your storage requests. To learn more about SFTP support for Azure Blob Storage, see [SSH File Transfer Protocol (SFTP) support for Azure Blob Storage](secure-file-transfer-protocol-support.md).
17
+
Blob storage now supports the SSH File Transfer Protocol (SFTP). This article contains recommendations that help you to optimize the performance of your storage requests. To learn more about SFTP support for Azure Blob Storage, see [SSH File Transfer Protocol (SFTP) support for Azure Blob Storage](secure-file-transfer-protocol-support.md).
18
18
19
19
## Use concurrent connections to increase throughput
20
20
21
21
Azure Blob Storage scales linearly until it reaches the maximum storage account egress and ingress limit. Therefore, your applications can achieve higher throughput by using more client connections. To view storage account egress and ingress limits, see [Scalability and performance targets for standard storage accounts](../common/scalability-targets-standard-account.md).
22
22
23
-
For WinSCP, you can use a maximum of 9 concurrent connections to upload multiple files. Other common SFTP clients such as FileZilla have similar options.
23
+
For WinSCP, you can use a maximum of nine concurrent connections to upload multiple files. Other common SFTP clients such as FileZilla have similar options.
24
24
25
25
> [!IMPORTANT]
26
26
> Concurrent uploads will only improve performance when uploading multiple files at the same time. Using multiple connections to upload a single file is not supported.
@@ -36,7 +36,7 @@ For WinSCP, you can use a maximum of 9 concurrent connections to upload multiple
36
36
37
37
## Reduce the impact of network latency
38
38
39
-
Network latency has a large impact on SFTP performance due to its reliance on small messages. By default, most clients use a message size of around 32KB.
39
+
Network latency has a large impact on SFTP performance due to its reliance on small messages. By default, most clients use a message size of around 32 KB.
40
40
41
41
- Increase default message size to achieve better performance
Copy file name to clipboardExpand all lines: articles/storage/blobs/secure-file-transfer-protocol-support-authorize-access.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -49,7 +49,7 @@ You can authenticate local users connecting from SFTP clients by using a passwor
49
49
50
50
3. In the **Add local user** configuration pane, add the name of a user, and then select which methods of authentication you'd like associate with this local user. You can associate a password and / or an SSH key.
51
51
52
-
If you select **SSH Password**, then your password will appear when you've completed all of the steps in the **Add local user** configuration pane. SSH passwords are generated by Azure and are minimum 32 characters in length.
52
+
If you select **SSH Password**, then your password appears when complete all of the steps in the **Add local user** configuration pane. SSH passwords are generated by Azure and are minimum 32 characters in length.
53
53
54
54
If you select **SSH Key pair**, then select **Public key source** to specify a key source.
55
55
@@ -80,7 +80,7 @@ This section shows you how to authenticate by using either an SSH key or a passw
80
80
81
81
- Use existing public key that is stored outside of Azure.
82
82
83
-
If you don't yet have a public key, then see [Generate keys with ssh-keygen](../../virtual-machines/linux/create-ssh-keys-detailed.md#generate-keys-with-ssh-keygen) for guidance about how to create one. Only OpenSSH formatted public keys are supported. The key that you provide must use this format: `<key type> <key data>`. For example, RSA keys would look similar to this: `ssh-rsa AAAAB3N...`. If your key is in another format then a tool such as `ssh-keygen` can be used to convert it to OpenSSH format.
83
+
If you don't yet have a public key, then see [Generate keys with ssh-keygen](../../virtual-machines/linux/create-ssh-keys-detailed.md#generate-keys-with-ssh-keygen) for guidance about how to create one. Only OpenSSH formatted public keys are supported. The key that you provide must use this format: `<key type> <key data>`. For example, RSA keys would look similar to this: `ssh-rsa AAAAB3N...`. If your key is in another format, then a tool such as `ssh-keygen` can be used to convert it to OpenSSH format.
84
84
85
85
2. Create a public key object by using the [New-AzStorageLocalUserSshPublicKey](/powershell/module/az.storage/new-azstoragelocalusersshpublickey) command. Set the `-Key` parameter to a string that contains the key type and public key. In the following example, the key type is `ssh-rsa` and the key is `ssh-rsa a2V5...`.
86
86
@@ -141,7 +141,7 @@ This section shows you how to authenticate by using either an SSH key or a passw
141
141
142
142
- Use existing public key that is stored outside of Azure.
143
143
144
-
If you don't yet have a public key, then see [Generate keys with ssh-keygen](../../virtual-machines/linux/create-ssh-keys-detailed.md#generate-keys-with-ssh-keygen) for guidance about how to create one. Only OpenSSH formatted public keys are supported. The key that you provide must use this format: `<key type> <key data>`. For example, RSA keys would look similar to this: `ssh-rsa AAAAB3N...`. If your key is in another format then a tool such as `ssh-keygen` can be used to convert it to OpenSSH format.
144
+
If you don't yet have a public key, then see [Generate keys with ssh-keygen](../../virtual-machines/linux/create-ssh-keys-detailed.md#generate-keys-with-ssh-keygen) for guidance about how to create one. Only OpenSSH formatted public keys are supported. The key that you provide must use this format: `<key type> <key data>`. For example, RSA keys would look similar to this: `ssh-rsa AAAAB3N...`. If your key is in another format, then a tool such as `ssh-keygen` can be used to convert it to OpenSSH format.
145
145
146
146
2. To create a local user that is authenticated by using an SSH key, use the [az storage account local-user create](/cli/azure/storage/account/local-user#az-storage-account-local-user-create) command, and then set the `--has-ssh-key` parameter to a string that contains the key type and public key.
The SFTP username is `storage_account_name`.`username`. In the example above the `storage_account_name` is "contoso4" and the `username` is "contosouser." The combined username becomes "contoso4.contosouser". The blob service endpoint is "contoso4.blob.core.windows.net".
36
36
37
-
To complete the connection, you might have to respond to one or more prompts. For example, if you configured the local user with password authentication, then you'll be prompted to enter that password. You might also be prompted to trust a host key. Valid host keys are published [here](secure-file-transfer-protocol-host-keys.md).
37
+
To complete the connection, you might have to respond to one or more prompts. For example, if you configured the local user with password authentication, then you are prompted to enter that password. You might also be prompted to trust a host key. Valid host keys are published [here](secure-file-transfer-protocol-host-keys.md).
38
38
39
39
### Connect using a custom domain
40
40
41
-
If you want to connect to the blob service endpoint by using a custom domain, then the connection string is `[email protected]`. If the home directory hasn't been specified for the user, then the connection string is `[email protected]`.
41
+
If you want to connect to the blob service endpoint by using a custom domain, then the connection string is `[email protected]`. If the home directory isn't specified for the user, then the connection string is `[email protected]`.
42
42
43
43
> [!IMPORTANT]
44
44
> Ensure your DNS provider does not proxy requests as this might cause the connection attempt to time out.
@@ -47,7 +47,7 @@ To learn how to map a custom domain to a blob service endpoint, see [Map a custo
47
47
48
48
### Connect using a private endpoint
49
49
50
-
If you want to connect to the blob service endpoint by using a private endpoint, then the connection string is `[email protected]`. If the home directory hasn't been specified for the user, then it's `myaccount.mycontainer.myuser@myaccount.privatelink.blob.core.windows.net`.
50
+
If you want to connect to the blob service endpoint by using a private endpoint, then the connection string is `[email protected]`. If the home directory isn't specified for the user, then it's `myaccount.mycontainer.myuser@myaccount.privatelink.blob.core.windows.net`.
51
51
52
52
> [!NOTE]
53
53
> Ensure that you change the networking configuration to "Enabled from selected virtual networks and IP addresses", and then select your private endpoint. Otherwise, the blob service endpoint will still be publicly accessible.
@@ -79,9 +79,9 @@ You can modify the permission level of the owning user, owning group, and all ot
79
79
80
80
#### Modify permissions
81
81
82
-
To change the the permission level of the owning user, owning group, or all other users of an ACL, the local user must have been given`Modify Permission` permission. See [Give permission to containers](secure-file-transfer-protocol-support-authorize-access.md#give-permission-to-containers).
82
+
To change the permission level of the owning user, owning group, or all other users of an ACL, the local user must have `Modify Permission` permission. See [Give permission to containers](secure-file-transfer-protocol-support-authorize-access.md#give-permission-to-containers).
83
83
84
-
The following example prints the ACL of a directory to the console. It then, sets the ACL to `777`. Each `7` is the numeric form of `rwx` (read, write, and execute). So `777` gives read, write, and execute permission to the owning user, owning group, and all other users. This example then prints the updated ACL to the console. To learn more about numeric and short forms of an ACL, see [Short forms for permissions](data-lake-storage-access-control.md#short-forms-for-permissions).
84
+
The following example prints the ACL of a directory to the console. It then, uses the `chmod` command to set the ACL to `777`. Each `7` is the numeric form of `rwx` (read, write, and execute). So `777` gives read, write, and execute permission to the owning user, owning group, and all other users. This example then prints the updated ACL to the console. To learn more about numeric and short forms of an ACL, see [Short forms for permissions](data-lake-storage-access-control.md#short-forms-for-permissions).
To change the owning user of a directory or blob, the local user must have been given `Modify Ownership` permission. See [Give permission to containers](secure-file-transfer-protocol-support-authorize-access.md#give-permission-to-containers).
102
+
To change the owning user of a directory or blob, the local user must have `Modify Ownership` permission. See [Give permission to containers](secure-file-transfer-protocol-support-authorize-access.md#give-permission-to-containers).
103
103
104
104
The following example prints the ACL of a directory to the console. The ID of the owning user is `0`. This example uses the `chown` command to set the ID of the owning user to `1234` and prints the change to the console.
105
105
@@ -117,7 +117,7 @@ sftp>
117
117
118
118
#### Change the owning group
119
119
120
-
To change the owning group of a directory or blob, the local user must have been given `Modify Ownership` permission. See [Give permission to containers](secure-file-transfer-protocol-support-authorize-access.md#give-permission-to-containers).
120
+
To change the owning group of a directory or blob, the local user must have `Modify Ownership` permission. See [Give permission to containers](secure-file-transfer-protocol-support-authorize-access.md#give-permission-to-containers).
121
121
122
122
The following example prints the ACL of a directory to the console. The ID of the owning group is `0`. This example uses the `chgrp` command to set the ID of the owning group to `5678` and prints the change to the console.
This section shows you how to disable SFTP support for an existing storage account. Because SFTP support incurs an hourly cost, consider disabling SFTP support when clients are not actively using SFTP to transfer data.
69
+
This section shows you how to disable SFTP support for an existing storage account. Because SFTP support incurs an hourly cost, consider disabling SFTP support when clients aren't actively using SFTP to transfer data.
0 commit comments