Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Teleport is software which provides an SSH Jump Host (or Bastion host) service in a secure, modern , way, with support for role-based access control , and single sign-on. It is a replacement for the ecAccess SSH service, and is operated by the CD Apps team and User Services.

Warning

This service is under development. Please continue to use the existing ECAccess service!

Table of Contents
maxLevel1

Downloading tsh 

The tsh application is required to perform user authentication once every eight hours.

tsh is open source, very portable, and has minimal dependencies.

The binary is available for Linux 32-bit, 64-bit, and ARM, as well as signed packages for MacOS and Windows 64-bit.

MacOS users can also use homebrew for installation (brew install teleport).

User Authentication

Once every eight hours, you will need to refresh your tokens by logging in to the ECMWF website.

First Time

Run tsh, giving the location of our gateway:

Code Block
languagebash
themeMidnight
tsh login --proxy=shell.ecmwf.int

Your default web browser will open and you should login with your email address, workstation password, and then HID Token code.

Subsequent Occasions

Code Block
languagebash
themeMidnight
tsh login
Info

If you're already logged in to the ECMWF website, or have recently logged in to this service, the password prompt might be skipped.

Connecting to hosts through the gateway

OpenSSH 7.3 or later has a simple command line option to connect via our gateway (shell.ecmwf.int) to the destination-host:

Code Block
languageyml
ssh -J username@shell.ecmwf.int username@destination-host

For example, if your username is ab0 and you wish to connect to ecgate:

Code Block
languagebash
themeMidnight
ssh -J ab0@shell.ecmwf.int ab0@ecgate

The OpenSSH configuration setting for this is named ProxyJump.

Destination hosts available through the Teleport gateway are:

  • Linux VDI (both legacy and CENTOS 8 beta)
  • Physical office workstations
  • ecGate
  • HPC2020 TEMS

Legacy Configuration

For OpenSSH clients older than 7.3, the following will work in your ~/.ssh/config file:

Code Block
languagebash
Host ecgate
  Username ab0
  ProxyCommand /usr/bin/ssh -q -W %h:%p shell.ecmwf.int

Configuring passwordless login

With the initial configuration you may be prompted for a password at the destination-host.

For login without a password, add the Teleport certificate authority to your ~/.ssh/authorized_keys file:

Code Block
languagebash
themeMidnight
curl -fs https://nexus.ecmwf.int/repository/internal-teleport-configs/prod/teleport_user_ca.pub >> ~/.ssh/authorized_keys
Tip

This configuration will allow access to any host which mounts the same $HOME directory. 

SCP, X11 and Port Forwarding

scp and port forwarding will all work through the Teleport gateway.

used to access a number of services at ECMWF, including our Atos HPCF and ECS services. The service provides:

  • Single SSH hop from client systems anywhere on the internet to servers inside ECMWF (HPC, etc)
  • Re-authentication required only every 12 hours (usually once per working day)
  • Integration with standard tools such as the OpenSSH ssh client, scp, and ssh-agent
  • X11 and Port forwarding

The single sign-on step is performed using an application called "tsh". After that you use standard ssh or scp to connect to systems inside ECMWF.

Here are the instructions on how to set it up depending on your platform:

Info
titleSystem Administrators

If you are a system administrator setting up access to teleport from your organisation, have a look at the Teleport SSH Access - Network requirements for additional information on how this system works and its network requirements.


Warning

Please be aware that you must use a version of "tsh" equal to or lower than 13. We are working on removing this limitation in the very near future

Note

X11 forwarding will work in a couple of months when we have an update from the vendor.