Skip to content
System Status: All systems are operational • Services are available and operational.
Click for detailed status

SSH

The Secure Shell Protocol (SSH Protocol) is a cryptographic network protocol for operating network services securely over an unsecured network. Its most notable applications are remote login and command-line execution.

SSH into Euler

To access Euler via SSH, you need an SSH client. SSH (Secure Shell) is a protocol that allows you to securely connect to remote servers. This will require your ETH username and password.

Password

You can reset your ETH password at https://www.password.ethz.ch/.

There are many SSH clients available, but here are some common ones:

Windows command prompt

  1. Press Windows + R, type cmd, and press Enter.
  2. Enter: ssh <username>@euler.ethz.ch (replace <username> with your ETH username).
  3. Enter your ETH password when prompted.
  4. You are now connected to Euler.

Windows PowerShell

  1. Press Windows + R, type powershell, and press Enter.
  2. Enter: ssh <username>@euler.ethz.ch (replace <username> with your ETH username).
  3. Enter your ETH password when prompted.
  4. You are now connected to Euler.

Linux or macOS Terminal

  1. Open your terminal.
  2. Enter: ssh <username>@euler.ethz.ch (replace <username> with your ETH username).
  3. Enter your ETH password when prompted.
  4. You are now connected to Euler.

PuTTY (Windows)

  1. Download and install PuTTY.
  2. See PuTTY documentation for connection steps.

MobaXterm (Windows)

  1. Download and install MobaXterm.
  2. See MobaXterm documentation for connection steps.

Basic SSH command

ssh username@remote_host
  • username: Your user account on the remote system.
  • remote_host: The hostname or IP address of the remote system.

Common options

  • -i KEYFILE: Use a specific private key file.
  • -X: Enable X11 forwarding.
  • -v: Enable verbose mode for debugging.

Example:

ssh -i ~/.ssh/id_ed25519 username@remote_host
For more details, see the SSH manual.

Using SSH keys

SSH keys provide a more secure and convenient way to authenticate without using passwords. They consist of a public key and a private key. The public key is placed on the remote server, while the private key remains on your local machine. This allows you to log in without entering a password each time. Generate a key pair:

ssh-keygen -t ed25519 -C "your_email@example.com"
Copy your public key to the remote host:
ssh-copy-id username@remote_host

Safety Note

Use a strong passphrase for your private key to enhance security. Do not leave it empty! Never share your private key with anyone. Never copy your private key to an other system.

Tunneling into batch jobs

To access Euler's compute nodes, you can use the euler-tunnel command. This command sets up an SSH tunnel to a compute node in a batch job.

Troubleshooting

Permission denied

If you receive a "Permission denied" error, please check if you entered the correct password. If you think that your account has been corrupted, then please contact the service desk of IT services of ETH Zürich.

If you enter a wrong password too many times or in a high frequency, then we might block access to the clusters for your account, because it could be correupted. If your account is blocked by the HPC group, please contact cluster support.

Timeout

If you try to login and receive a timeout error, then it is very likely that you tried to connect from outside of the ETH network to one of the HPC clusters.

sfux@calculus:~$ ssh -Y sfux@euler.ethz.ch
ssh: connect to host euler.ethz.ch port 22: Connection timed out

Please either connect from the inside of the ETH network, or establish a VPN connection.

setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory

If you are using a Mac, can you please try to comment out the following lines in your /etc/ssh/ssh_config on your workstation:

Host *
       SendEnv LANG LC_*

This should solve the problem.

Too many authentication failures

This errors can be triggered if you have more than 6 private SSH keys in your local .ssh directory. In this case specify the SSH key to use and use the IdentitiesOnly=yes option, for example:

sfux@calculus:~$ ssh -i $HOME/.ssh/id_ed25519 -o IdentitiesOnly=yes sfux@euler.ethz.ch

Indirect GLX rendering error

When using an SSH connection with X11 forwarding enabled, newer versions of the Xorg server show an error message, when the graphical user interface of an application is started:

X Error of failed request: BadValue (integer parameter out of range for operation)
  Major opcode of failed request: 153 (GLX)
  Minor opcode of failed request: 3 (X_GLXCreateContext)
  Value in failed request: 0x0
  Serial number of failed request: 27
  Current serial number in output stream: 30

This error is caused by starting your X11 server without enabling the setting for indirect GLX rendering (iglx), that is required for X11 forwarding. Up to version 1.16 of the Xorg server, the setting iglx, has been enabled by default. With version 1.17, the default has changed from +iglx to -iglx. Now the setting needs to be enabled either in the Xorg configuration file or with a command line setting, when starting the Xorg server manually. For Xquartz versions up to 2.7.8, the iglx setting is enabled by default. If you would like to use XQuartz 2.7.9 or newer, then please make sure that you enable the iglx setting when the X-server is started.

This problem is described in the following article:

https://www.phoronix.com/scan.php?page=news_item&px=Xorg-IGLX-Potential-Bye-Bye

Please find below some links, which address the problem for specific operating systems.

Operating system Link
Red Hat Enterprise Linux (RHEL) https://elrepo.org/bugs/view.php?id=610
CentOS https://www.centos.org/forums/viewtopic.php?t=57409#p244528
Ubuntu http://askubuntu.com/questions/745135/how-to-enable-indirect-glx-contexts-iglx-in-ubuntu-14-04-lts-with-nvidia-gfx
Mac OS X https://bugs.freedesktop.org/show_bug.cgi?id=96260