0

I have the following entry in my .ssh/config file:

Host myhost
    Hostname localhost
    User me
    ServerAliveInterval 30
    ProxyCommand ssh -q external-relay /usr/bin/nc -w 90 localhost 9889

Very simple, it allows me to access myhost from outside its NATed network, by bouncing off external-relay.

Most of the times I only want to SSH to myhost, without creating any SSH tunnels, but some other times I want to create various tunnels, for different purposes.

Nowadays I simply manually append the -L tunnel entries when I ssh to myhost but it's becoming increasingly difficult to remember which sets of ports I need for which purpose.

I could just add those custom port forwarding commands as aliases, but what I'd really like is to have separate named entries in my .ssh/config file that basically create the connection to myhost and add the required tunnels, but I don't want to duplicate the whole myhost config everytime, because if/when I change the external-relay, I don't want to have to remember to change it in every entry that used it.

Is there a way to create an entry that inherits fom the myhost entry, and simply appends the required LocalForward directives for that particular tunnel case?

1

You should be able to do:

Host myhost-*
    Hostname localhost
    User me
    ServerAliveInterval 30
    ProxyCommand ssh -q external-relay /usr/bin/nc -w 90 localhost 9889

followed by:

Host myhost-1
    LocalForward ...

Host myhost-2
    RemoteForward ...
:

myhots-1 and myhost-2 will derive settings from myhost-* (but CANNOT override them).

You definitely should have a look at the beginning of DESCRIPTION section (to see how options are applied to connection) and PATTERNS section of ssh_config man page.

  • This works. I actually knew about the patterns and already used a wildcard for global options, but hadn't occurred to me to re-use the same host prefix to achieve what I wanted here. Thanks! – ktorn Nov 24 '18 at 14:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.