Overview¶
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 49345
on <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
(Help
> 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.