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 can be is used as a replacement for the ecAccess SSH service, and is being evaluated by the CD Apps team and User Support.
Please read all the introductory "understanding" sections (even if you think you know them), so that the presentation of Teleport makes sense in context.
Understanding ecAccess
A user outside of ECMWF wishes to ssh to one of the Centre's clusters, batch farms, or workstations. This can be done by running:
Code Block | ||
---|---|---|
| ||
ssh sy0@ecaccess.ecmwf.int |
Note |
---|
Since 2016 the ecAccess ssh module has required custom configuration on the ssh client end to enable known-insecure ciphers. The replacement of this service will of course bring an up-to-date ssh implementation without this issue. |
The user is prompted for a password, which happens to be the one-time code from an ActivID token.
Info |
---|
ecAccess is not aware of the use of multi-factor authentication (ActivID token). It sees only a simple username and password and delegates authentication to another service. |
After authenticating to ecAccess, the user is prompted for the destination host:
Code Block |
---|
[cca-login,ecgate]
? |
In fact, the user can enter any ECMWF server or workstation name.
The destination server or workstation must run the ecauth
binary which is installed "setuid root" (so it can become any user).
ecauth
receives the TCP/IP connection from ecAccess and spawns a shell as the original user (sy0, in this example).
Understanding our SSH Proxy service
When servers or workstations inside the Centre wish to ssh to the Internet (not the RMDCN), we tell the client to use our SSH Proxy service.
The Proxy sits in the DMZ and allows transit of the TCP/IP connection from ssh client to server. It does not interrupt the encryption in any way.
Info |
---|
The need for the SSH Proxy is mostly to support a network setup where the Centre is dual-homed on both RMDCN and Internet. In the near future (BOND timeframe) the network will be redesigned and this need will go away, so all outgoing proxy services are to be retired. |
Clients inside the Centre use the openssh ProxyCommand
setting to direct the connection via our Proxy:
Code Block |
---|
ProxyCommand /usr/bin/connect -H proxy.ecmwf.int:2222 %h %p |
This is a commonly used behaviour in ssh, and in fact new openssh clients and servers support the ProxyJump
setting, to simplify configuration even further.
Understanding Teleport
Teleport functions somewhat like a combination of ecAccess, and the SSH Proxy service, with additional features relating to role-based access control and single sign-on.
Clients outside of the Centre configure their clients to use Teleport as a proxy service for the destination host or server. That is, it's a bit like the reverse of systems inside ECMWF connecting to the Internet.
Like ecAccess, Teleport can have its own binary installed on the destination server or workstation. However, this is optional, and standard openssh server works too.
Info |
---|
Teleport is open source, hosted on GitHub, written in Go, and the Enterprise edition is licensed (at modest cost) to gain support and allow use of the single sign-on feature. |
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:
- Teleport SSH Access - Mac configuration
- Teleport SSH Access - Linux configuration
- Teleport SSH Access - Windows Terminal and Powershell configuration
- Teleport SSH Access - Windows Subsystem for Linux (WSL)
- Teleport SSH Access - Windows MobaXterm configuration
- Teleport SSH Access - Windows Cygwin configuration
Info | ||
---|---|---|
| ||
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 |
...