SSH Access to Sol's Long-Running Processes
Overview
There are numerous different applications available on Sol that invoke a long-running server process that awaits user connections. The user can then open a client application, specify the hostname where the server process is running, and work remotely.
Popular applications that use this model include Jupyter Notebook, RServer, and Paraview. This page will detail how to use ssh
to tunnel your encrypted connection from your workstation to the Sol compute nodes.
While ssh
forwarding is available, it is not typically supported for applications that may be launched through the webportal (like Jupyter or RStudio).
Connect via SSH Tunnel
Note, all the steps here can be generalized for any application which runs on Sol; replace the example port with the port recommended by your application/needs. The following example will use Paraview as the application on Sol.
Step 1: Program
Identify the program that will be running. This example will use Paraview and pvserver
.
Step 2: Log onto Sol
Log onto the Sol cluster and allocate compute resources (typically with interactive
).
[wdizon@login01:~]$ interactive
[wdizon@c001:~]$ module load paraview-5.10.1-gcc-11.2.0
[wdizon@c001:~]$ pvserver
Waiting for client...
Connection URL: cs://c001.sol.rc.asu.edu:11111
Accepting connection(s): c001.sol.rc.asu.edu:11111
At this point, pvserver
is the long-running process, accessible only from compute nodes and login nodes within Sol. Note the connection URL, cs://c001.sol.rc.asu.edu:11111
, which identifies the port number 11111
that pvserver
is set up to receive and send signals over.
Step 3: Local Terminal
Open a new terminal session on your workstation. This session will be used to create the ssh
terminal required to forward your local requests (e.g., paraview client app) to the running server app (e.g., paraview pvserver
).
Step 4: Create SSH Tunnel
Create the ssh
tunnel. Be sure to replace each of the app and user-specific fields as applicable.
ssh -L <local port>:localhost:<login node port> <ASURITE>@sol.asu.edu ssh -L <login node port>:localhost:<program port> <COMPUTENODE>
ssh -L 8000:localhost:9000 rcsparky@sol.asu.edu ssh -L 9000:localhost:11111 c001
The above command creates TWO “tunnels” in a manner reminiscent of telephonic switchboard operating. The example command may be interpreted in the following way, for user rcsparky
creating two tunnels:
A first ssh
connection is established between rcsparky
’s local machine and a remote Sol login node. The connection is special, as in this case, local port 8000
will receive signals from the login node’s port 9000
, forming the FIRST of two tunnels.
After the connection is established and the first tunnel is created, a second, chained ssh
command creates a SECOND TUNNEL connecting the login node's port 9000
to pvserver
’s communication port 11111
on the compute node c001
.
Step 5: Connect Client
Finally, use your client application to connect to the server process. You connect to the server process through the local port opened on your workstation. This means that your application will connect to localhost:8000
, and it will securely tunnel your interaction directly to the app.
Webportal Alternative Connection Option
Using the Virtual Desktop option of the Sol webportal, you may also open your client application, whether it is a web browser or an application like the client-side Paraview.
When located within the network itself (compute nodes, login nodes, webportal), connections do not need tunneling: you can connect directly to a compute node, e.g., c001.sol.rc.asu.edu
.
Using this Webportal alternative, you can follow these steps:
Step 1: Connect
Connect to: sol.asu.edu
Step 2: Sol Desktop
Under Interactive Apps, choose Sol Desktop
Step 3: Connect to Desktop
After the job has been allocated, click to connect to the desktop with Launch Sol Desktop
Step 4: Terminal
Open the terminal emulator (at the bottom of the screen, black box icon)
Step 5: Application
Run the application, e.g., pvserver
:
[wdizon@c001:~]$ module load paraview-5.10.1-gcc-11.2.0
[wdizon@c001:~]$ pvserver
Waiting for client...
Connection URL: cs://c001.sol.rc.asu.edu:11111
Accepting connection(s): c001.sol.rc.asu.edu:11111
Step 6: Open Application
From the same virtual desktop, open up the client app which could be either a specialized app (e.g., paraview client app) or a web browser.
Additional Help