Remote access over SSH and VPN¶
Run PQEnalyzer beside the simulation files on the server and open its web interface in your desktop browser. The server reads and analyzes the original files; the interface and chart data travel over an encrypted SSH connection. No CSV conversion or manual transfer of the input files is required.
Only the server needs PQEnalyzer installed. Your desktop needs SSH and a browser. Use your own username and server hostname in place of the examples below.
From home over VPN¶
Connect your institution’s VPN if it is required to reach the server.
Confirm that normal SSH access works from your desktop:
ssh user@login.clusterStart the app on that server, then open the tunnel from a second desktop terminal as shown below.
The same tunnel works from the institution’s network and from home over VPN. The VPN must provide a route to the SSH host and resolve its hostname, or your institution must provide a reachable address or SSH alias. The SSH server must allow TCP forwarding. Follow the cluster’s policy for login and compute nodes.
Start the app on the server¶
pqenalyzer web --no-open --port 8766 /path/to/simulation.en
See the startup output. Leave this terminal
running; Ctrl+C stops the server.
Paths refer to files on the server. Keep each energy file’s matching .info
file beside it. Supply multiple files in their dataset order when needed.
The app listens on 127.0.0.1:8766 on the server. Keep this default loopback
binding; remote access is provided by SSH.
Open the tunnel on your desktop¶
ssh -N -o ExitOnForwardFailure=yes \
-L 127.0.0.1:8766:127.0.0.1:8766 user@login.cluster
Open http://127.0.0.1:8766 in your desktop browser. The first address and port
are on your desktop; the second 127.0.0.1:8766 is reached from the SSH server.
The SSH destination must therefore be the machine running PQEnalyzer.
-N keeps SSH open for forwarding without starting a remote shell.
ExitOnForwardFailure=yes reports failure to establish the forwarding listener;
it does not check whether the web app is running.
Compute node behind a login node¶
If your site permits SSH to an allocated compute node, start PQEnalyzer there inside the allocation. Then use the login node as a jump host:
ssh -N -o ExitOnForwardFailure=yes -J user@login.cluster \
-L 127.0.0.1:8766:127.0.0.1:8766 user@compute-node
The browser address remains http://127.0.0.1:8766. The final SSH destination is the compute node hosting the app. Keep the allocation active for the session.
Keep the session open¶
Keep both the app and SSH tunnel running. Ctrl+C in the tunnel terminal closes
the tunnel; stop the app separately when finished.
After a VPN or SSH disconnection, reconnect the VPN and rerun the tunnel command. Restart the app too if its server session or allocation ended. The browser can then reload the same local address.
Troubleshooting¶
Symptom |
Check |
|---|---|
SSH times out or the hostname cannot be resolved |
VPN connection, institutional DNS, hostname, and route to the SSH host. Use the same hostname or SSH alias as your normal login. |
SSH login fails |
Your SSH credentials and the site’s access policy; establish normal SSH access first. |
Forwarding is administratively prohibited |
The site’s SSH forwarding or compute-node access policy. Ask the cluster administrator which access path is supported. |
Local address is already in use |
Choose a different desktop port, as below. |
The tunnel opens but the page does not |
Check that the app is still running on the final SSH destination and that the remote port matches. From that server, try |
For a busy desktop port, change only the local port:
ssh -N -o ExitOnForwardFailure=yes \
-L 127.0.0.1:18766:127.0.0.1:8766 user@login.cluster
Then open http://127.0.0.1:18766. If port 8766 is busy on the server, choose
another --port for PQEnalyzer and use that value for the remote port in -L.
See the OpenSSH manual for -L, -N, and -J.