COM-based programmatic configuration
Bitvise SSH Server comes with a COM DLL which can be used to configure SSH server settings programmatically from VBScript, PowerShell, .NET, or any other programming language that provides access to COM objects. Example scripts (renamed to .txt from their original extensions):
- PowerShell: Import a public key into a virtual account settings entry.
- PowerShell: Loop through virtual account entries, displaying the virtual filesystem mount points defined by each virtual account settings entry.
- VBScript: Load, Update and Apply Settings.
- VBScript: Export Public Key in OpenSSH known_hosts Format.
- VBScript: Loop through Windows account entries, resetting their mount points so that each account has a single mount point with a real root path set to the value of the "Initial terminal shell directory" for the account.
The configuration COM object can be used for the same purposes as the BssCfg utility and the Bitvise SSH Server Control Panel: keypair management, import and export of settings, changing and inspection of individual settings values.
A list of the COM object's supported methods can be found in the SSH server's installation directory in the file BssCfgManip.idl. In PowerShell, you can also use:
$cfg = new-object -com "BssCfg631.BssCfg631"
$cfg | Get-Member
BssCfgManip COM object name
The exact name of the BssCfgManip COM object is changed in SSH server versions that contain changes to the configuration format. To find the name of the COM object for your installation, check the file BssCfgManip.idl in the Bitvise SSH Server installation directory.
For example, if your SSH server version is 6.44, the name of the object would be "BssCfg641.BssCfg641". This is because, even though your version is 6.44, the configuration format was last changed in version 6.41.
Virtual filesystem providers
Bitvise SSH Server supports pluggable filesystem providers. Third parties can implement custom providers to support any type of backing store for files accessed with SFTP or SCP via an SSH session. Possibilities include SFTP/SCP access to files contained in an encrypted database; or a bridge that permits SFTP/SCP access to files actually hosted on an FTP server. Third-party providers can be mounted concurrently with the SSH server's default provider, FlowSfsWin, allowing SSH users to access the Windows filesystem and a third-party provider's virtual filesystem concurrently.
Virtual filesystem providers need to be implemented as 32-bit DLLs with a C-style interface. No licensing or royalty fees are required. To get started, download our Virtual Filesystem Provider Development Kit.
SSH Server Control Panel protocol
Third party programs can interact with Bitvise SSH Server using the same protocol used by the SSH Server Control Panel, and can obtain the same information from the SSH Server that the SSH Server Control Panel displays. Look for BssStat.exe and BssStat.cpp in your SSH Server installation directory for an example command line program that implements the protocol, and its full source code.