I'm using Core Tunnel to have a GUI (and notifications) for my hosts setup in .ssh/config. The way I use it is I setup a custom (i.e. non-existing) Host in the config file (along with all the options I want, such as port forwards), then set the host (and nothing else) in Core Tunnel.
Now I can connect in Core Tunnel and see the status and everything, yet I can manage everything in my ssh-config (and use the hosts in many other tools supporting ssh as well).
This works great, except that Core Tunnel requires me to specify a port for every final connection.
See, I have a JumpHost setup like that:
Host local.dev HostName 10.0.1.1 Port 22 LocalForward 3000 10.0.1.240:3000 Host remote.dev HostName 0.0.0.0 Port 44440 ProxyJump jump.dev LocalForward 3000 10.0.1.240:3000 Host jump.dev HostName whatever.dev Port 22 IdentitiesOnly yes Compression yes
Using local.dev in Core Tunnel works fine when I setup Port 22, no worries here.
But for remote.dev I have to specify port 44440 even though it's already specified in the config. In the above example this is not a real problem, I can just set it up in Core Tunnel and everything is fine.
But as I have quite a few hosts I want to connect to locally when I'm in the same network I have a lot of hosts setup like this:
Match Host test.dev exec "/bin/bash %d/.ssh/scripts/check-host-fingerprint.sh 10.0.1.1 SHAKEY" HostName 10.0.1.1 Port 22 LocalForward 3000 10.0.1.240:3000 Host test.dev HostName 0.0.0.0 Port 44440 ProxyJump jump.dev LocalForward 3000 10.0.1.240:3000
This way, the connection to 10.0.1.1 is used when I am on the same network, while the jump via jump.dev is made when I'm not.
Core Tunnel handles this perfectly and everything works, except for the port. No I have to specify a port in the connection so I put in 22 - but when the proxy jump is used, I would need to use 44440 (as specified in the config), yet Core Tunnel overrides this and the connection fails.
Using the generated equivalent ssh command works totally fine btw, so this is not a problem of ssh internally.
I guess if you were to parse the port from .ssh/config instead of forcing me to enter one myself, this would actually also work just fine.
Thanks in advance for any pointers!