Omniscope 2.8 has today been updated to support SCP and SFTP for secure file copy to/from remote servers, and SSH tunnels with port forwarding for secure access to remote services such as databases.
Available shortly to alpha-partners.
SCP and SFTP
SCP and SFTP are secure file transfer protocols which use an SSH connection to transfer files to/from the SSH server's filesystem.
To use in Omniscope, from 2.8, enter the following URL syntax into the URL Data Source or Data Output block (for transferring in either direction, like an FTP URL):
Be sure to tick "Requires authentication" and provide both a username and password.
SSH tunnel with port forwarding
An SSH tunnel with port forwarding allows you to "tunnel" access to private remote services (such as database servers) to your local Omniscope.
For example, you might use this to connect to your company's intranet database server from outside your company.
This is done by mapping a remote host & port accessible from the SSH server, to a local port, then updating your connection details to use the local port instead.
To configure, in any Omniscope 2.8 DataManager block which connects to a networked service, such as a database source or output:
Open the "Block options" menu (spanner/wrench icon)
Tick "Use SSH tunnel (advanced)"
In the dialog, configure the SSH session details (host/username/password), and port forwarding as required (see below)
Click OK
Once configured, the tunnel will be opened during any execution of the block, and closed immediately after. You cannot have two tunnels open simultaneously with the same local port, and if this is attempted, the Omniscope will process each conflicting block sequentially.
Port forwarding
With local port forwarding, a localhost port mirrors a remote service accessible from the SSH service. For example:
You are connecting to an intranet database from outside your organisation
The database server is internally called "BigDatabase" and is on port 3306
Only your SSH server is accessible externally
You would typically configure port forwarding as: Local port: X Remote host: BigDatabase Remote port: 3306
You would then configure your database connection as: Host: localhost Port: X
(where X is an arbitrary free local port - it could be the same, 3306 in this case, or any number between 1025 and 65536, providing no service or other port forwarding is running locally on that port)