SSH-config

The most flexible way to set shortcuts for connecting to Holodeck is through setting shortcuts in the SSH-config file. This file is used by ssh and by extension also gsissh, to set certain options and connect to a service.

Setting up the config file

This file needs to be setup on your local machine, as you are connecting from here. You can also set this on Holodeck, if you use Holodeck to connect to other services.

To setup the config file type
gedit ~/.ssh/config
or
nano ~/.ssh/config
if you can't use a graphical interface.

If you don’t already have a config file, the editor will show an empty window. If there is already some content in this file, you will want to leave it alone. Append the following lines to the file. (Replace <your.name> with your username, i.e. your AEI-E-Mail address without the part “@aei.mpg.de”)
Host holo1 holodeck1 holodeck1.aei.uni-hannover.de
   HostName holodeck1.aei.uni-hannover.de
   User <your.name>
   ForwardX11 no
   ForwardAgent yes
   ServerAliveInterval 60

Host holo2 holodeck2 holodeck2.aei.uni-hannover.de
   HostName holodeck2.aei.uni-hannover.de
   User <your.name>
   ForwardX11 no
   ForwardAgent yes
   ServerAliveInterval 60
We will only go through the first block and explain its contents, as the second block is the same but just for holodeck2.

The first line starting with “Host” sets all the aliases you can use to connect to the service specified in “HostName”. Therefore “holo1”, “holodeck1” and “holodeck1.aei.uni-hannover.de” all have the same effect as if you were to type “holodeck1.aei.uni-hannover.de”.

ForwardX11 would be used to also tunnel graphical X11 applications. As there is no X-Server running on Holodeck, this can be set to “no”.

FrowardAgent allows you to use the local ssh-keys of your computer on Holodeck as well. This might for instance be interesting if you have an ssh-key for github or other services. With this option set to yes, it should be straight forward to use them. To avoid having to reenter the passwords when using an ssh-key from your local machine, it is convenient to append the local PUBLIC keys to the authorized keys on Holodeck. The file to append these keys to can be found at
~/.ssh/authorized_keys

ServerAliveInterval sets the time in seconds the client will wait until it sends an empty package to the server in order to keep the connection alive. Without this option some ssh-pipes brake when there is no activity for some time.

For a full list of available commands that can be used in the ssh-config and a more thorough description, refer to the manual page of the ssh-config, that can be accessed by
man ssh_config

Usage

The reason why this option should be preferred when compared to simply setting an alias is the flexibility. With this you can for once change ssh-settings easily if you so desire and secondly it will work with all ssh connections, not only one specific. What is meant by this statement is, that if you set an alias, say holodeck1, to execute the command “gsissh holodeck1.aei.uni-hannover.de”, it will only do this. If you than however want to up- or download files to/from Holodeck via gsisftp you would still need to type “gsisftp holodeck1.aei.uni-hannover.de”. When setting a ssh-config, to normally connect to Holodeck1 you can type (with the config adjusted as shown above)
gsissh holo1
or up-/download files via
gsisftp holo1
Another use-case is the rsync command, that copies only the parts of some data, that changed. It works through ssh and the shortcuts defined in the ssh-config are therefore also valid for rsync.

See also

Quick start guide · Setting aliases

-- MarlinSchFer - 30 Jul 2019
Topic revision: r2 - 01 Aug 2019, MarlinSchFer
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback