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

  1. 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