Squish License Server is responsible for granting licenses to Squish clients (Squish IDE, squishrunner). Whenever you run Squish tests a TCP/IP connection needs to be made to a machine where License Server is running.
By default, any Squish client can request a license as long as the connection to the Squish License Server can be made. A system administrator can define firewall rules to control machines accessing a License Server. To have complete control over who can access the License Server and secure a connection SSH Port Forwarding (aka SSH Tunneling) can be used.
Configuring SSH Port Forwarding¶
SSH port forwarding is a mechanism for tunneling application ports from the client machine to the server machine or vice versa. In OpenSSH local port forwarding is configured using the -L option:
This example opens a connection to the
<squish_license_server_host> (put there a hostname or IP address where License Server is running), and forwards any connection to port
49345 on the local machine to port
<squish_license_server_host>. Port number
49345 is the default port where License Server is listening. The
-N option disallows ssh executing remote commands.
The SSH tunnel can be restricted to only bind programs on the same host by providing a bind address:
Configuring Squish IDE¶
Once the SSH Tunnel is established, Squish needs to be configured to use
localhost:49345 as Squish License Server settings
License Key ...).
Monitoring Squish License Server¶
For the Squish License Server, the port forwarding is invisible, therefore License Server Logs will show that the connection was made from a local machine
To obtain information about Squish Clients that were granted the license REST API can be used.
GET v1/clients returns a different
machineId despite all connections being made from the local host.