Connecting to ARCHER2
This section covers the basic connection methods.
On the ARCHER2 system, interactive access is achieved using SSH, either directly from a command-line terminal or using an SSH client. In addition, data can be transferred to and from the ARCHER2 system using
scp
from the command line or by using a file-transfer client.
Before following the process below, we assume you have set up an account on ARCHER2 through the EPCC SAFE. Documentation on how to do this can be found at:
Command line terminal
Linux
Linux distributions include a terminal application that can be used for SSH access to the ARCHER2 login nodes. Linux users will have different terminals depending on their distribution and window manager (e.g., GNOME Terminal in GNOME, Konsole in KDE). Consult your Linux distribution's documentation for details on how to load a terminal.
MacOS
MacOS users can use the Terminal application, located in the Utilities folder within the Applications folder.
Windows
A typical Windows installation will not include a terminal client, though there are various clients available. We recommend Windows users download and install MobaXterm to access ARCHER2. It is very easy to use and includes an integrated X Server, which allows you to run graphical applications on ARCHER2.
You can download MobaXterm Home Edition (Installer Edition) from the following link:
Double-click the downloaded Microsoft Installer file (.msi) and follow the instructions from the Windows Installation Wizard. Note, you might need to have administrator rights to install on some versions of Windows. Also, make sure to check whether Windows Firewall has blocked any features of this program after installation (Windows will warn you if the built-in firewall blocks an action, and gives you the opportunity to override the behaviour).
Once installed, start MobaXterm and then click "Start local terminal".
Tips
-
If you download the .zip file rather than the .msi, make sure you unzip it before attempting to run the installer.
-
If you do not have administrator rights, you can use the Portable edition of MobaXterm.
-
If this is your first time using MobaXterm, you should check that a permanent /home directory has been set up (otherwise, all saved info will be lost from session to session). Go to "Settings" -> "Configuration" and check that a path is set in the field marked "Persistent home directory". If prompted, make sure path is set as "private".
-
Any SSH key generated in MobaXterm will, by default, be stored in the permanent /home directory (see above). That is, if your /home directory is
_MyDocuments_\MobaXterm\home
then within that folder you will find a folder named_MyDocuments_\MobaXterm\home\.ssh
containing your keys. This folder will be 'hidden' by default, so you may need to tick 'Hidden items' under 'View' in Windows Explorer to see it. -
MobaXterm also allows you to set up pre-configured SSH sessions with the username, login host and key details saved. You are welcome to use this, rather than using the "Local terminal", but we are not able to assist with debugging connection issues if you choose this method.
Access credentials
To access ARCHER2, you need to use two sets of credentials: your SSH key pair protected by a passphrase and a Time-based one-time password. You can find more detailed instructions on how to set up your credentials to access ARCHER2 from Windows, MacOS and Linux below.
SSH Key Pairs
You will need to generate an SSH key pair protected by a passphrase to access ARCHER2.
Using a terminal (the command line), set up a key pair that contains your e-mail address and enter a passphrase you will use to unlock the key:
$ ssh-keygen -t rsa -C "your@email.com"
...
-bash-4.1$ ssh-keygen -t rsa -C "your@email.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/Home/user/.ssh/id_rsa): [Enter]
Enter passphrase (empty for no passphrase): [Passphrase]
Enter same passphrase again: [Passphrase]
Your identification has been saved in /Home/user/.ssh/id_rsa.
Your public key has been saved in /Home/user/.ssh/id_rsa.pub.
The key fingerprint is:
03:d4:c4:6d:58:0a:e2:4a:f8:73:9a:e8:e3:07:16:c8 your@email.com
The key's randomart image is:
+--[ RSA 2048]----+
| . ...+o++++. |
| . . . =o.. |
|+ . . .......o o |
|oE . . |
|o = . S |
|. +.+ . |
|. oo |
|. . |
| .. |
+-----------------+
(remember to replace "your@email.com" with your e-mail address).
Upload public part of key pair to SAFE
You should now upload the public part of your SSH key pair to the SAFE by following the instructions at:
Then:
- Go to the Menu Login accounts and select the ARCHER2 account you want to add the SSH key to.
- On the subsequent Login Account details page, click the Add Credential button.
- Select SSH public key as the Credential Type and click Next
- Either copy and paste the public part of your SSH key into the SSH Public key box or use the button to select the public key file on your computer.
- Click Add to associate the public SSH key with your account.
Once you have done this, your SSH key will be added to your ARCHER2 account.
MFA Time-based one-time passcode (TOTP code)
Remember, you will need to use both an SSH key and time-based one-time passcode to log into ARCHER2 so you will also need to set up a method for generating a TOTP code before you can log into ARCHER2.
First login: password required
Important
You will not use your password when logging on to ARCHER2 after the first login for a new account.
As an additional security measure, you will also need to use a password from SAFE for your first login to ARCHER2 with a new account. When you log into ARCHER2 for the first time with a new account, you will be prompted to change your initial password. This is a three step process:
- When promoted to enter your ldap password: Enter the password which you retrieve from SAFE
- When prompted to enter your new password: type in a new password
- When prompted to re-enter the new password: re-enter the new password
Your password has now been changed. You will no longer need this password to log into ARCHER2 from this point forwards, you will use your SSH key and TOTP code as described above.
SSH Clients
As noted above, you interact with ARCHER2, over an encrypted communication channel (specifically, Secure Shell version 2 (SSH-2)). This allows command-line access to one of the login nodes of ARCHER2, from which you can run commands or use a command-line text editor to edit files. SSH can also be used to run graphical programs such as GUI text editors and debuggers, when used in conjunction with an X Server.
Logging in
The login addresses for ARCHER2 are:
- ARCHER2 full system: login.archer2.ac.uk
You can use the following command from the terminal window to log in to ARCHER2:
ssh username@login.archer2.ac.uk
The order in which you are asked for credentials depends on the system you are accessing:
You will first be prompted for the passphrase associated with your SSH key pair. Once you have entered this passphrase successfully, you will then be prompted for your machine account password. You need to enter both credentials correctly to be able to access ARCHER2.
Tip
If you logged into ARCHER2 with your account before the major upgrade in May/June 2023 you may see an error from SSH that looks like
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: POSSIBLE DNS SPOOFING DETECTED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
The ECDSA host key for login.archer2.ac.uk has changed,
and the key for the corresponding IP address 193.62.216.43
has a different value. This could either mean that
DNS SPOOFING is happening or the IP address for the host
and its host key have changed at the same time.
Offending key for IP in /Users/auser/.ssh/known_hosts:11
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:UGS+LA8I46LqnD58WiWNlaUFY3uD1WFr+V8RCG09fUg.
Please contact your system administrator.
If you see this, you should delete the offending host key from your ~/.ssh/known_hosts
file (in the example above the offending line is line #11)
Warning
If your SSH key pair is not stored in the default location (usually
~/.ssh/id_rsa
) on your local system, you may need to specify the path
to the private part of the key wih the -i
option to ssh
. For
example, if your key is in a file called keys/id_rsa_ARCHER2
you would
use the command ssh -i keys/id_rsa_ARCHER2 username@login.archer2.ac.uk
to log in (or the equivalent for the 4-cabinet system).
Tip
When you first log into ARCHER2, you will be prompted to change your initial password. This is a three-step process:
- When promoted to enter your ldap password: Re-enter the password you retrieved from SAFE.
- When prompted to enter your new password: type in a new password.
- When prompted to re-enter the new password: re-enter the new password.
Your password will now have been changed
To allow remote programs, especially graphical applications, to control your local display, such as for a debugger, use:
ssh -X username@login.archer2.ac.uk
Some sites recommend using the -Y
flag. While this can fix some
compatibility issues, the -X
flag is more secure.
Current MacOS systems do not have an X window system. Users should install the XQuartz package to allow for SSH with X11 forwarding on MacOS systems:
Host Keys
Adding the host keys to your SSH configuration file provides an extra level of security for your connections to ARCHER2. The host keys are checked against the login nodes when you login to ARCHER2 and if the remote server key does not match the one in the configuration file, the connection will be refused. This provides protection against potential malicious servers masquerading as the ARCHER2 login nodes.
login.archer2.ac.uk
login.archer2.ac.uk ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBANu9BQJ1UFr4nwy8X5seIPgCnBl1TKc8XBq2YVY65qS53QcpzjZAH53/CtvyWkyGcmY8/PWsJo9sXHqzXVSkzk=
login.archer2.ac.ukssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDFGGByIrskPayB5xRm3vkWoEc5bVtTCi0oTGslD8m+M1Sc/v2IV6FxaEVXGwO9ErQwrtFQRj0KameLS3Jn0LwQ13Tw+vTXV0bsKyGgEu2wW+BSDijGpbxRZXZrg30TltZXd4VkTuWiE6kyhJ6qiIIR0nwfDblijGy3u079gM5Om/Q2wydwh0iAASRzkqldL5bKDb14Vliy7tCT3TJXI49+qIagWUhNEzyN1j2oK/2n3JdflT4/anQ4jUywVG4D1Tor/evEeSa3h5++gbtgAXZaCtlQbBxwckmTetXqnlI+pvkF0AAuS18Bh+hdmvT1+xW0XLv7CMA64HfR93XgQIIuPqFAS1p+HuJkmk4xFAdwrzjnpYAiU5Apkq+vx3W957/LULzZkeiFQY2Y3CY9oPVR8WBmGKXOOBifhl2Hvd51fH1wd0Lw7Zph53NcVSQQhdDUVhgsPJA3M/+UlqoAMEB/V6ESE2z6yrXVfNjDNbbgA1K548EYpyNR8z4eRtZOoi0=
login.archer2.ac.uk ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINyptPmidGmIBYHPcTwzgXknVPrMyHptwBgSbMcoZgh5
Host key verification can fail if this key is out of date, a problem which can be fixed by removing the offending entry in ~/.ssh/known_hosts
and replacing it with the new key published here. We recommend users should check this page for any key updates and not just accept a new key from the server without confirmation.
Making access more convenient using the SSH configuration file
Typing in the full command to log in or transfer data to ARCHER2 can
become tedious as it often has to be repeated several times. You can use
the SSH configuration file, usually located on your local machine at
.ssh/config
to make the process more convenient.
Each remote site (or group of sites) can have an entry in this file, which may look something like:
Host archer2
HostName login.archer2.ac.uk
User username
(remember to replace username
with your actual username!).
Taking the full-system example: the Host
line defines a short name for the entry. In this
case, instead of typing ssh username@login.archer2.ac.uk
to access the
ARCHER2 login nodes, you could use ssh archer2
instead. The remaining
lines define the options for the host.
Hostname login.archer2.ac.uk
--- defines the full address of the hostUser username
--- defines the username to use by default for this host (replaceusername
with your own username on the remote host)
Now you can use SSH to access ARCHER2 without needing to enter your username or the full hostname every time:
ssh archer2
You can set up as many of these entries as you need in your local
configuration file. Other options are available. See the ssh_config manual
page (or man ssh_config
on any machine with SSH installed) for a
description of the SSH configuration file. For example, you may find the
IdentityFile
option useful if you have to manage multiple SSH key
pairs for different systems as this allows you to specify which SSH key
to use for each system.
Bug
There is a known bug with Windows ssh-agent. If you get the error
message: Warning: agent returned different signature type ssh-rsa
(expected rsa-sha2-512)
, you will need to either specify the path to
your ssh key in the command line (using the -i
option as described
above) or add that path to your SSH config file by using the
IdentityFile
option.
SSH debugging tips
If you find you are unable to connect to ARCHER2, there are some simple checks you may use to diagnose the issue, which are described below. If you are having difficulties connecting, we suggest trying these before contacting the ARCHER2 Service Desk.
Use the user@login.archer2.ac.uk
syntax rather than -l user login.archer2.ac.uk
We have seen a number of instances where people using the syntax
ssh -l user login.archer2.ac.uk
have not been able to connect properly and get prompted for a password many times. We have found that using the alternative syntax:
ssh user@login.archer2.ac.uk
works more reliably.
Can you connect to the login node?
Try the command ping -c 3 login.archer2.ac.uk
, on Linux or MacOS, or
ping -n 3 login.archer2.ac.uk
on Windows. If you successfully
connect to the login node, the output should include:
--- login.archer2.ac.uk ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 38ms
(the ping time '38ms' is not important). If not all packets are received there could be a problem with your Internet connection, or the login node could be unavailable.
SSH key
If you get the error message Permission denied (publickey)
, this may
indicate a problem with your SSH key. Some things to check:
-
Have you uploaded the key to SAFE? Please note that if the same key is re-uploaded, SAFE will not map the "new" key to ARCHER2. If for some reason this is required, please delete the key first, then re-upload.
-
Is SSH using the correct key? You can check which keys are being found and offered by SSH using
ssh -vvv
. If your private key has a non-default name, you should use the-i
option to provide it to ssh. For example,ssh -i path/to/key username@login.archer2.ac.uk
. -
Are you entering the passphrase correctly? You will be asked for your private key's passphrase first. If you enter it incorrectly you will usually be asked to enter it again (usually you will get three chances, after which SSH will fail with
Permission denied (publickey)
). If you would like to confirm your passphrase without attempting to connect, you can usessh-keygen -y -f /path/to/private/key
. If successful, this command will print the corresponding public key. You can also use this to check that you have uploaded the correct public key to SAFE. -
Are permissions correct on the SSH key? One common issue is that the permissions are set incorrectly on either the key files or the directory it is contained in. On Linux and MacOS, if your private keys are held in
~/.ssh/
you can check this withls -al ~/.ssh
. This should give something similar to the following output:$ ls -al ~/.ssh/ drwx------. 2 user group 48 Jul 15 20:24 . drwx------. 12 user group 4096 Oct 13 12:11 .. -rw-------. 1 user group 113 Jul 15 20:23 authorized_keys -rw-------. 1 user group 12686 Jul 15 20:23 id_rsa -rw-r--r--. 1 user group 2785 Jul 15 20:23 id_rsa.pub -rw-r--r--. 1 user group 1967 Oct 13 14:11 known_hosts
The important section here is the string of letters and dashes at the start, for the lines ending in
.
,id_rsa
, andid_rsa.pub
, which indicate permissions on the containing directory, private key, and public key, respectively. If your permissions are not correct, they can be set withchmod
. Consult the table below for the relevantchmod
command.Target Permissions chmod
CodeDirectory drwx------
700 Private Key -rw-------
600 Public Key -rw-r--r--
644
chmod
can be used to set permissions on the target in the following
way: chmod <code> <target>
. So for example to set correct
permissions on the private key file id_rsa_ARCHER2
, use the command
chmod 600 id_rsa_ARCHER2
.
On Windows, permissions are handled differently but can be set by
right-clicking on the file and selecting Properties > Security >
Advanced. The user, SYSTEM, and Administrators should have Full
control
, and no other permissions should exist for both the public
and private key files, as well as the containing folder.
Tip
Unix file permissions can be understood in the following way. There are
three groups that can have file permissions: (owning) users, (owning)
groups, and others. The available permissions are read, write,
and execute. The first character indicates whether the target is a
file -
, or directory d
. The next three characters indicate the
owning user's permissions. The first character is r
if they have read
permission, -
if they don't, the second character is w
if they have
write permission, -
if they don't, the third character is x
if they
have execute permission, -
if they don't. This pattern is then
repeated for group, and other permissions. For example the pattern
-rw-r--r--
indicates that the owning user can read and write the file,
members of the owning group can read it, and anyone else can also read
it. The chmod
codes are constructed by treating the user, group, and
owner permission strings as binary numbers, then converting them to
decimal. For example the permission string -rwx------
becomes
111 000 000
-> 700
.
MFA
If your TOTP passcode is being consistently rejected, you can remove MFA from your account and then re-enable it.
SSH verbose output
The verbose-debugging output from ssh
can be very useful for
diagnosing issues. In particular, it can be used to distinguish
between problems with the SSH key and password. To enable verbose
output, add the -vvv
flag to your SSH command. For example:
ssh -vvv username@login.archer2.ac.uk
The output is lengthy, but somewhere in there you should see lines similar to the following:
debug1: Next authentication method: publickey
debug1: Offering public key: RSA SHA256:<key_hash> <path_to_private_key>
debug3: send_pubkey_test
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 60
debug1: Server accepts key: pkalg rsa-sha2-512 blen 2071
debug2: input_userauth_pk_ok: fp SHA256:<key_hash>
debug3: sign_and_send_pubkey: RSA SHA256:<key_hash>
Enter passphrase for key '<path_to_private_key>':
debug3: send packet: type 50
debug3: receive packet: type 51
Authenticated with partial success.
debug1: Authentications that can continue: password, keyboard-interactive
In the text above, you can see which files ssh has checked for private
keys, and you can see if any key is accepted. The line Authenticated
succeeded
indicates that the SSH key has been accepted. By default
SSH will go through a list of standard private-key files, as well as
any you have specified with -i
or a config file. To succeed, one of
these private keys needs to match to the public key uploaded to SAFE.
If your SSH key passphrase is incorrect, you will be asked to try again
up to three times in total, before being disconnected with Permission
denied (publickey)
. If you enter your passphrase correctly, but still
see this error message, please consider the advice under SSH key
above.
You should next see something similiar to:
debug1: Next authentication method: keyboard-interactive
debug2: userauth_kbdint
debug3: send packet: type 50
debug2: we sent a keyboard-interactive packet, wait for reply
debug3: receive packet: type 60
debug2: input_userauth_info_req
debug2: input_userauth_info_req: num_prompts 1
Password:
debug3: send packet: type 61
debug3: receive packet: type 60
debug2: input_userauth_info_req
debug2: input_userauth_info_req: num_prompts 0
debug3: send packet: type 61
debug3: receive packet: type 52
debug1: Authentication succeeded (keyboard-interactive).
If you do not see the Password:
prompt you may have connection issues,
or there could be a problem with the ARCHER2 login nodes. If you do not
see Authenticated with partial success
it means your password was not
accepted. You will be asked to re-enter your password, usually two more
times before the connection will be rejected. Consider the suggestions
under Password above. If you do see Authenticated with partial
success
, it means your password was accepted, and your SSH key will now
be checked.
The equivalent information can be obtained in PuTTY by enabling All Logging in settings.
Related Software
tmux
tmux is a multiplexer application available on the ARCHER2 login nodes. It allows for multiple sessions to be open concurrently and these sessions can be detached and run in the background. Furthermore, sessions will continue to run after a user logs off and can be reattached to upon logging in again. It is particularly useful if you are connecting to ARCHER2 on an unstable Internet connection or if you wish to keep an arrangement of terminal applications running while you disconnect your client from the Internet -- for example, when moving between your home and workplace.