Site Tools


Action disabled: revisions
linux_ssh_access

Linux Server Access

All Linux servers run “secure shell” (ssh). Anyone with a CS account may log into the department's servers.

Users on a Windows PC can use a Terminal application like SecureCRT, Cmder, KiTTY, or Putty to ssh to our servers.

Users on a Mac can use an application like Terminal or iTerm2 to ssh to our servers.

If you'd like to use a graphical windowing interface to our servers, see: Nomachine Remote Desktops


On Grounds

You can ssh to CS servers.

Use your CS domain userid (identical to your UVA userid) and password to ssh to portal. For example:

ssh -l abc1de portal.cs.virginia.edu. Alternatively, ssh abc1de@portal.cs.virginia.edu


Off Grounds: Option 1: VPN access

Start a VPN session to UVA using the UVA VPN. Once the VPN is established, you can ssh to CS servers directly. Note that you should use the UVA “Anywhere” VPN, not the “More Secure” VPN.


Off Grounds: Option 2: ssh to portal.cs.virginia.edu

You can ssh directly into portal.cs.virginia.edu without having to use the UVA VPN. Once you are logged into the portal cluster, you can then ssh to other CS servers. Your username on the Mac or PC may be different from your CS/UVA userid. So be sure to include your CS/UVA userid on the ssh command line.

For example:

[abc1de@outside-uva ~]$ ssh abc1de@portal.cs.virginia.edu
abc1de@portal.cs.virginia.edu's password: 
Last login: Mon Jul 29 14:12:10 2021
abc1de@portal04 ~ $ hostname
portal04                                               <-- you are logged into the portal cluster
abc1de@portal04 ~ $ ssh gpusrv01                       <-- you can now ssh to gpusrv01
abc1de@gpusrv01's password:
abc1de@gpusrv01 ~ $                                    <-- you are logged into gpusrv01

Jumphost Option

The ssh command has an option -J to specify a server to use as a “jumphost” that lets you access other servers directly with one command. This combines two steps (for example, ssh into portal.cs.virginia.edu and then ssh to gpusrv01).

Here is how we use this option to “jump” from portal to another CS server. Let's repeat the example of logging in to gpusrv01.

[abc1de@outside-uva ~]$ ssh abc1de@gpusrv01 -J abc1de@portal.cs.virginia.edu
abc1de@portal04.cs.virginia.edu's password:                  <-- first asked to authenticate to portal
abc1de@gpusrv01's password:                                  <-- immediately able to log into gpusrv01
abc1de@gpusrv01 ~ $                                          <-- you are logged into gpusrv01

SSH Configuration for Jumphost

You can also have a local configuration file with the following contents. This file is on your laptop or desktop

  • On Windows this file is: C:\Users\<username>\.ssh\config
  • On Linux/MacOS this file is: ~/.ssh/config
Host *
    ServerAliveInterval 60
    
Host portal
    HostName portal.cs.virginia.edu
    User <userid>

Host <CS server name>
    HostName <CS server name>.cs.virginia.edu
    User <userid>
    ProxyJump portal

If you have an SSH keypair, you can specify it to be used for logging into a CS server. This requires that the public key contents be save in your CS home directory file ~/.ssh/authorized_keys

Host portal
    HostName portal.cs.virginia.edu
    User <userid>
    IdentityFile /home/username/.ssh/id_ed25519

Then you can do the following

~$ ssh portal

SSH Key Generation for Logging into Portal

SSH keys can be generated and used for SSH authentication to CS login servers such as portal.

To do this, start by generating a key. This can be done on your local computer by opening a terminal.

0.1: SSH for Linux & MacOS

Application for running this command are Terminal

0.2: SSH for Windows

Applications for running this commands are Command Prompt or PowerShell

After opening the appropriate application, generate the key using one of the two options, replace <userid> with your UVA computing ID

~$ ssh-keygen -t ed25519 -C "<userid>@portal.cs.virginia.edu"

OR

~$ ssh-keygen -t rsa -b 4096 -C "<userid>@portal.cs.virginia.edu" 

After doing so, you may be prompted for where to save the file to choose a non-default location, select Enter to use the path shown

Enter file in which to save the key (/home/username/.ssh/id_ed25519):

Then, you can choose to further protect your key with a passphrase, which is recommended to do

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

Then, you will see the following output

Your identification has been saved in /home/username/.ssh/id_ed25519
Your public key has been saved in /home/username/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:AbCdEfg123456 <userid>@portal.cs.virginia.edu
The key's randomart image is:
+--[ED25519 256]--+
|        .        |
|       + .       |
|      . B .      |
|     o * +       |
|    X * S        |
|   + O o . .     |
|    .   E . o    |
|       . . o     |
|        . .      |
+----[SHA256]-----+

Referencing the above, two files are generated

  1. /home/username/.ssh/id_ed25519, which is the private key, this is kept local to your computer
  2. /home/username/.ssh/id_ed25519.pub, which is the public key, this is copied to CS servers

After generating the key, you will need to copy the contents of the Public Key to your home directory on CS servers. In this example, we'll copy /home/username/.ssh/id_ed25519.pub to /u/<userid>/.ssh/authorized_keys.

On MacOS and Linux you can use the following command, which requires entering your SSH password, replace <userid> with your UVA computing ID

~$ ssh-copy-id <userid>@portal.cs.virginia.edu

On Windows, you can run the following command in Command Prompt or PowerShell, replacing <username> with your local computer username, and replace <userid> with your UVA computing ID

C:\Users\<username>> type C:\Users\username\.ssh\id_ed25519.pub | ssh <userid>@portal.cs.virginia.edu "mkdir ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys"

Then, after copying the the public key contents, you can use the key to SSH into portal, entering the passphrase for the key (if one was used)

~$ ssh <userid>@portal.cs.virginia.edu

Host Names depend upon your network connection

If you are on the Computer Science network just use the hostname of a server (ex. portal). If you are outside of the CS network (on wireless for example), use the hostname's fully qualified name (FQDN) (ex. portal.cs.virginia.edu).


Available Servers

For a listing of generally available servers in CS, see Computing Resources

linux_ssh_access.txt · Last modified: 2025/09/08 12:21 by 127.0.0.1