Updated 2020-03-26

Enable Port Forwarding with 3rd Party SSH Apps

Starting a VNC Session

  • To start a remote VNC session, run the command pace-vnc-job -q <QUEUENAME>, where <QUEUENAME> should be replaced with the queue to which you wish to submit your job
    • By default, this will start a VNC job on 1 node, with 1 processor and 1 GB of memory, for 1 hour
    • If the requested resources need to be modified, use the standard qsub options:
      • -l can be used to set resource requests such as nodes, ppn, walltime, mem, pmem, etc.
      • -N can be used to set a custom name for the job
      • -j can be used to set the output flags (e.g. -j oe)
      • -o can be used to set the output file path
    • For example, to run a 4 hour VNC session with access to 2 nodes and 4 ppn, we could run the command
      pace-vnc-job -q iw-shared-6 -l nodes=2:ppn=4,walltime=4:00:00
    • You can also specify a custom resolution for your VNC session to match your local resolution
      • By default, all VNC sessions are run with a resolution of 1024x768
      • To specify a different resolution, use the --geometry option
      • For example, to run a VNC session with a resolution of 1680x1050, the command would be
        pace-vnc-job -q <QUEUENAME> --geometry=1680x1050,
        where <QUEUENAME> is replaced by the queue in which the job should be run
  • The script will print output to the screen as the job is started

Tip

The script will not allow you to run a VNC session without a session password. If ~/.vnc/passwd does not exist, run vncpasswd and enter a session password. You will need this password to connect your VNC viewer client to your remote session.

  • The next steps to take are based on your specific 3rd party SSH app. Please visit your app's section below:

Start a Jupyter Notebook Session

  • Starting a Jupyter Notebook session is very similar to starting a VNC session, simply run the comand pace-jupyter-notebook -q <QUEUENAME>, where <QUEUENAME> should be replaced with the queue to which you wish to submit your job
  • The defaults and resource request options are the same for pace-jupyter-notebook as they are for pace-vnc-job, so please refer to the section above for explanations on how to request specific resources
  • The next steps to be taken are based on your specific 3rd party SSH app. Please visit your app's section below

Note

The instructions written in each of the sections below are targeted towards VNC sessions, but can be easily modified to run a Jupyter Notebook session instead. Instead of connecting your VNC viewer, simply paste the url provided in step 3) on the instructions displayed after running pace-jupyter-notebook into your web browser and hit enter.

PuTTY

Screenshot

  • Click the PuTTY icon in the top left of the window
  • When the options box pops up, select Change Settings...

Screenshot

  • This will pull up a dialog box titled PuTTY Reconfiguration
  • Click on the plus box next to SSH under the Connection category, and then click on Tunnels
  • In the Source port box, enter the 4 digit number before the first colon in the address from step 2) displayed in the terminal
  • In the Destination box, enter the rest of address that comes after the first colon
  • Make sure that the Local and Auto options are filled in, and then hit Add
  • This should add an address to the Forwarded ports: box above

Screenshot

  • You can now hit Apply, and all that's left is to connect your VNC viewer as per step 3) displayed in the terminal

Xshell

Screenshot

  • Click the Properties button (or press Alt + p) to pull up the Default Session Properties dialog box
  • Click on Tunneling under the SSH section of the Connection category

Screenshot

  • Click Add to pull up the Forwarding Rule dialog box
  • The Listening Host box should be set to localhost by default. If it is not, please manually set it to localhost.
  • In the Listening Port box, enter the 4 digit number before the first colon in the address from step 2) displayed in the terminal
  • In the Destination Host box, enter the rest of the address before the second colon
  • In the Destination Port box, enter the 4 digit number after the second colon in the address
  • After doing all of these, click OK

Screenshot

  • Click OK again when you are returned to the Default Session Properties dialog box
  • You can now connect your VNC viewer as per step 3) displayed in the terminal

MobaXterm

Screenshot

  • Click on the Tunneling button next to MultiExec and Packages

Screenshot

  • Click on New SSH tunnel

Screenshot

  • Make sure that the Local port forwarding bubble in the top of the new window is filled in
  • In the <Remote server> section, enter the compute node identifier found between the two semicolons in step 2) from the instructions in the terminal
  • In the <Remote port> section, enter the 4 digit number found before the first semicolon and after the second semicolon
  • In the <Forwarded port> section, do the same as above, enter the 4 digit number found before the first semicolon and after the second semicolon
  • In the <SSH server> section, enter the address of the headnode you are currently on (this should be the full address including the .pace.gatech.edu at the end). You can find the name of the headnode you are currently on by looking at the text formatted [<username>@<headnode> ~]$ in the terminal.
  • In the <SSH login> section, enter your GT username
  • In the <SSH port> section, enter 22
  • Click Save to return to the MobaSSHTunnel window

Screenshot

  • Click Start all tunnels or the start button under the Start/stop column
  • Enter your GT password when prompted and click OK

Screenshot

  • You may choose whatever option you prefer when a window pops up asking whether you'd like to save your password
  • You can now connect your VNC viewer as per step 3) displayed in the terminal