Drives
The following values can be configured independently for each drive, at HKEY_LOCAL_MACHINE\SOFTWARE\nsoftware\SFTPDrive\3\Drives\{Drive Name}:
Name | Type | Description | ||||||||||||||||||||||||||||||||
DriveLetter | String | Contains the drive letter where the drive will be mounted (e.g. "Z:"). | ||||||||||||||||||||||||||||||||
DriveName | String | Contains the name that will be displayed for the drive. | ||||||||||||||||||||||||||||||||
DriveType | DWORD | Determines the type of drive that will be mounted:
| ||||||||||||||||||||||||||||||||
Enabled | DWORD | Determines whether or not the drive will be mounted when SFTP Drive is started.
| ||||||||||||||||||||||||||||||||
Index | DWORD | The position of the drive in the list of drives. | ||||||||||||||||||||||||||||||||
OpenRemoteFolder | DWORD | Determines whether or not SFTP Drive will automatically open a folder after mounting the drive.
| ||||||||||||||||||||||||||||||||
OpenSpecifiedFolder | String | Contains the folder that SFTP Drive will open if OpenRemoteFolder is enabled. | ||||||||||||||||||||||||||||||||
ReadOnly | DWORD | Determines whether or not SFTP Drive will mount the drive in read-only mode.
| ||||||||||||||||||||||||||||||||
RemoteRoot | String | Contains the folder on the server that SFTP Drive will use as the root of the mounted drive. | ||||||||||||||||||||||||||||||||
Shared | DWORD | Determines whether or not other users can access the mounted drive.
| ||||||||||||||||||||||||||||||||
CaseSensitiveNames | DWORD | Enabling this setting will turn on case-sensitive mode in the virtual drive. The drive will advertise to Windows that it is sensitive to filename casing. This will allow some applications to work with files on the drive in a case-sensitive manner. Please keep reading for more information.
Windows treats file and directory names as case-insensitive. FOO.txt and foo.txt are treated as equivalent files. Although there are mechanisms to configure case-sensitivity in Windows, some applications may still make the assumption that the file system is case-insensitive. It is not uncommon for applications to transform filenames to use all upper or lower case. Please see the Microsoft Documentation for more information. It is required for user-mode code of Windows to set the obcasesensitive setting to 0, in order to perform operations in a case-sensitive manner. Despite this setting, applications may assume the file system is case-insensitive. There is not a magic bullet to turn everything into case-sensitive. Applications may stop working in unexpected places. By default, the virtual drive will advertise to Windows that is case preserving while it remains mounted. If the drive is started and then stopped and started again, you may see the case preserving is not persistent. For performance reasons we do not perform extra search operations to ensure the persistence of case preserving across stopping and starting the drive.
| ||||||||||||||||||||||||||||||||
SftpServerExec | String | A command to start the SFTP server. When this setting is specified, SFTP Drive opens an exec channel and sends the command to start the SFTP server over the channel. The subsequent SFTP requests and data are also sent over the command channel.
Note the server must be configured with passwordless sudo for the current SSH user. The default value is empty and channels are started using an SFTP subsystem instead. Example: "/usr/bin/sudo -u root /usr/lib/openssh/sftp-server" starts the server as the root user. | ||||||||||||||||||||||||||||||||
UseSingleChannel | DWORD | Enabling this setting will prevent the drive from starting multiple SFTP channels. SFTP Drive by default will use one channel to read and write files in an asynchronous manner and another channel for synchronous operations such as enumerating files and folders, deleting files, and deleting folders.
| ||||||||||||||||||||||||||||||||
ConfirmPermissions | DWORD | When this setting is enabled, SFTP Drive will always attempt to open the file/directory beforehand to verify the user has permission to perform the operation. This improves the experience in Explorer when navigating around the server's filesystem.
Note: Turning this off does not prevent permissions checking altogether. The server will always prevent reads and writes if the SFTP user does not have permission to read or write.
| ||||||||||||||||||||||||||||||||
ServerProfile | String | This setting abstracts multiple different configuration settings into a single setting. When this setting is non-empty, the application will attempt to turn on all the required configuration settings based on the server name. The possible values of this setting are
Additional values are reserved for future use. | ||||||||||||||||||||||||||||||||
DefaultFilePermissions | String | This setting controls the file permissions of any new files created on the drive. SFTP Drive will create the file on the remote machine using the default mode mask of the SSH user. If this setting is enabled and non-empty, after the file has been created SFTP Drive will set the file's attributes to the specified permissions. The configuration setting supports a string of three numbers in base 8.
Default - 664
| ||||||||||||||||||||||||||||||||
DefaultFolderPermissions | String | This setting controls the permissions of any new folders created on the drive. SFTP Drive will create the folder on the remote machine using the default mode mask of the SSH user. If this setting is enabled and non-empty, after the folder has been created SFTP Drive will set the attributes to the specified permissions. The configuration setting supports a string of three numbers in base 8.
Default - 775
| ||||||||||||||||||||||||||||||||
SSHEncryptionAlgorithms | String | A comma-separated list containing all allowable encryption algorithms in order of preference. When this setting is non-empty, only the specified encryption algorithms will be negotiated.
The following algorithms are enabled by default: aes256-ctr,aes192-ctr,aes128-ctr,aes256-cbc,aes192-cbc,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc,arcfour256,arcfour128,arcfour,cast128-cbc,aes256-gcm@openssh.com,aes128-gcm@openssh.com,chacha20-poly1305@openssh.com | ||||||||||||||||||||||||||||||||
SSHMacAlgorithms | String | A comma-separated list containing all allowable message authentication algorithms in order of preference. When this setting is non-empty, only the specified MAC algorithms will be negotiated.
The following algorithms are enabled by default: hmac-sha2-256,hmac-sha2-512,hmac-sha1,hmac-md5,hmac-ripemd160,hmac-sha1-96,hmac-md5-96,hmac-sha2-256-96,hmac-sha2-512-96,hmac-ripemd160-96,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com | ||||||||||||||||||||||||||||||||
SSHKeyExchangeAlgorithms | String | A comma-separated list containing all allowable key exchange algorithms in order of preference. When this setting is non-empty, only the specified key exchange algorithms will be negotiated.
The following algorithms are enabled by default: curve25519-sha256,curve25519-sha256@libssh.org,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1,diffie-hellman-group14-sha256,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,ecdh-sha2-nistp256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,ecdh-sha2-nistp384,ecdh-sha2-nistp521 | ||||||||||||||||||||||||||||||||
SSHPubKeyAuthSigAlgorithms | String | This setting specifies a list of signature algorithms that may be used when authenticating
to the server using public key authentication. This applies only when public key authentication
is performed by the client.
The following algorithms are enabled by default: ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519 | ||||||||||||||||||||||||||||||||
CacheDirectory | String |
The local directory where files will be stored temporarily during read and write operations. The default cache directory is C:\ProgramData\SFTPDrive. Note: The default cache directory is visible to all local users on the machine. | ||||||||||||||||||||||||||||||||
CacheInfoValidityTime | DWORD |
The time in seconds for which the current directory information is considered valid. When a file is created SFTP Drive will first check to see if the file already exists in the SFTP server. SFTP Drive will first check the cached listing for the directory. If the directory information is older than CacheInfoValidityTime a request will be made to the SFTP server to update the directory listing. If the directory information is newer than CacheInfoValidityTime it will be considered valid and will not result in a separate request to the SFTP server. In cases where many new files are copied to a folder in a short period of time this can improve performance since it will reduce the number of requests made to the SFTP server. To disable this functionality set the value to 0. The default value is 30. | ||||||||||||||||||||||||||||||||
CacheLargeFileSizeMinimum | DWORD |
The minimum size of files in megabytes for which a multipart upload will be used. Files written to the virtual drive which exceed this size will be uploaded to the remote storage as a set of independent parts. This is most helpful for uploading large objects. The default value is 5 (5 MB). | ||||||||||||||||||||||||||||||||
CacheFileUploadDelay | DWORD |
The delay in seconds to wait after a file is idle before initiating an upload to the SFTP server. A delay may be beneficial in cases where a file is repeatedly accessed. With a delay in place only one copy of the file will be uploaded after the file has been idle for the specified number of seconds. The default value is 5. | ||||||||||||||||||||||||||||||||
CacheFileUploadDelayThreshold | DWORD |
The maximum size in bytes of cached files that will be uploaded without waiting for CacheFileUploadDelay to lapse. If a file is smaller than the specified number of bytes it will be uploaded immediately. The default value is 1048576 (1 MB). Note: Specifying a value of 0 means that this setting will not be used and CacheFileUploadDelay will apply to all files. | ||||||||||||||||||||||||||||||||
CacheEnabledForRead | DWORD |
Whether file content should be cached locally when an application reads the file content from the virtual drive. The default value is 0 and the file is not cached locally until the first write is performed. Note: Specifying a value of 1 means that files will be cached locally for read operations and write operations. If the remote files are very large this could significantly increase the amount of disk space used by the cache. | ||||||||||||||||||||||||||||||||
CacheMaxUploadRetries | DWORD |
The maximum number of retries for the operation. This setting is applicable when data is uploaded from the local cache to the SFTP server. If an operation related to the upload fails it will be retried up until the maximum number of retries specified in this setting. The default value is 3. | ||||||||||||||||||||||||||||||||
CacheConcurrentUploadFilesMax | DWORD |
The maximum number of files being uploaded simultaneously. The default value is 8 meaning up to 8 files may be uploaded concurrently. Note that each file may use multiple connections to the server, see CacheConcurrentUploadThreadsPerFile for details. | ||||||||||||||||||||||||||||||||
CacheConcurrentUploadThreadsPerFile | DWORD |
The maximum number of parallel upload operations per file. If the file is a large file (greater than 5 MB) it will be uploaded using multiple threads to increase performance. This setting controls how many threads can be used to upload individual parts of the file. The default value is 8. | ||||||||||||||||||||||||||||||||
CacheConcurrentDownloadFilesMax | DWORD |
The maximum number of files being downloaded simultaneously. The default value is 8 meaning up to 8 files may be downloaded concurrently. Note that each file may use multiple connections to the server, see CacheConcurrentDownloadThreadsPerFile for details. Note: This setting is only applicable if CacheEnabledForRead is set to true | ||||||||||||||||||||||||||||||||
CacheConcurrentDownloadThreadsPerFile | DWORD |
The maximum number of parallel download operations per file. This setting controls how many threads can be used to download individual parts of the file. The default value is 8. Note: This setting is only applicable if CacheEnabledForRead is set to true | ||||||||||||||||||||||||||||||||
CacheFileDeleteDelay | DWORD |
The number of seconds to wait before deleting an unused file from the cache. After the specified number of seconds have passed if no further activity has taken place on the file it will be deleted from the cache. The default value is 5 seconds. | ||||||||||||||||||||||||||||||||
CachePreDownloadSmallFileCount | DWORD |
The number of small files to pre-download. The application will pre-download small files before they have been requested in order to speed up future requests. For instance, if a read request is made for a.txt the application will download b.txt so that when a request is made for b.txt it can be returned quickly. The default value is 4. Files are considered small if they are smaller in size than CachePreDownloadSmallFileSizeLimit. Files which match the criteria are downloaded alphabetically. | ||||||||||||||||||||||||||||||||
CachePreDownloadSmallFileSizeLimit | DWORD |
The maximum size of a file (in bytes) to be considered for pre-downloading. This setting works in conjunction with CachePreDownloadSmallFileCount. The default value is 1048576 (1MB) | ||||||||||||||||||||||||||||||||
AuthType | DWORD | Determines the type of authentication used to connect to the server:
| ||||||||||||||||||||||||||||||||
CertStore | String | The name of the certificate store for the client certificate | ||||||||||||||||||||||||||||||||
CertStoreType | DWORD | The type of certificate store for this certificate
| ||||||||||||||||||||||||||||||||
CertStorePassword | String | If the certificate store is of a type that requires a password, this registry setting is used to specify that password in order to open the certificate store. | ||||||||||||||||||||||||||||||||
CertSubject | String | The subject of the certificate used for client authentication. The certificate subject is a comma separated list of distinguished name properties and values. For instance "CN=www.server.com, OU=test, C=US, E=support@nsoftware.com". | ||||||||||||||||||||||||||||||||
ForceRename | DWORD |
Determines whether or not to forcefully rename a file if the destination file already exists. By default, renaming a file will fail if the destination file already exists. If enabled and the destination file already exists, the destination file will be renamed to have a temporary extension as a backup. The original file will be renamed to the destination file and the temporary file will be deleted. If the rename operation fails for any reason the temporary file is renamed back to the destination file so effectively no changes occur when the rename fails.
| ||||||||||||||||||||||||||||||||
Host | String | Contains the remote host that SFTP Drive will connect to. | ||||||||||||||||||||||||||||||||
Password | String | Contains the password for the SFTP server. | ||||||||||||||||||||||||||||||||
Port | DWORD | Contains the port on the remote host that SFTP Drive will connect to. | ||||||||||||||||||||||||||||||||
QueryAvailableSpace | DWORD | Whether to query the remote server for available space when connecting. Possible values are:
| ||||||||||||||||||||||||||||||||
RemoteRootType | DWORD | Determines how the drive decides what folder to use as the root of the drive.
| ||||||||||||||||||||||||||||||||
SecurityKeyAccount | String | An opaque token holding information about the certificate selected from the security key. This value is created by the application and should not be set manually. | ||||||||||||||||||||||||||||||||
SecurityKeyName | String | A friendly name of the chosen key. This is populated after selecting a key. For instance "PIV AUTH pubkey" | ||||||||||||||||||||||||||||||||
SecurityKeyPIN | String | The encrypted PIN of the security key. | ||||||||||||||||||||||||||||||||
SecurityKeyPKCS11LibPath | String | The path to the library which implements the PKCS11 interface. This may be provided by the security key vendor, or may be an alternative implementation like OpenSC. For instance "C:\Program Files\OpenSC Project\OpenSC\pkcs11\onepin-opensc-pkcs11.dll" | ||||||||||||||||||||||||||||||||
SecurityKeySavePIN | DWORD | Whether to save the PIN. If saved, the PIN is encrypted. | ||||||||||||||||||||||||||||||||
SignedSSHCert | String |
The CA signed client public key used when authenticating. When authenticating via public key authentication this setting may be set to the CA signed client's public key. This is useful when the server has been configured to trust client keys signed by a particular CA. For instance: SignedSSHCert=ssh-rsa-cert-v01@openssh.com AAAAB3NzaC1yc2EAAAADAQABAAAB...") The algorithm such as ssh-rsa-cert-v01@openssh.com in the above string is used as part of the authentication process. To use a different algorithm simply change this value. For instance all of the following are acceptable with the same signed public key:
| ||||||||||||||||||||||||||||||||
UseIPv6 | DWORD | Controls which IP version is used for the connection. These are the valid options:
| ||||||||||||||||||||||||||||||||
Username | String | Contains the username for the SFTP server. |