Replies: 2 comments 15 replies
-
You're correct! Currently the OpenSSH config parser is somewhat naive and only covers basic syntax. |
Beta Was this translation helpful? Give feedback.
-
@Eugeny - I've now got code that's successfully reading in the SSHConfig file and converting it into SSHProfile objects. It returns a list of SSHProfile objects having parsed all the wildcard and multiple entries for a single 'Host' and the list obtained contains a single, complete entry for each Host that has at least a Hostname specified. The problem that I've now run into is that Hosts that define JumpHosts fail because Tabby doesn't find the JumpHost in its config. I suspect that this may be because it only searches in its own config, rather than the externally-defined SSHConfig because I can see the jump host in the list of config-derived profiles and it connects as I would expect if I use it explicitly. Is that guess likely to be on the money? I'm starting at Line 79 in |
Beta Was this translation helpful? Give feedback.
-
I've got a lot of SSH configuration set up in my OpenSSH config file. Tabby makes a stab at reading it, and kind-of does well enough but the file parsing code is naive when it comes to inheritance of configuration. I started to look at re-writing the function, but then I began to wonder if it was actually necessary. The code stores some features of the settings into the SSHProfile structures but does it actually use them or does it rely on OpenSSH to have done its own parsing for the actual functionality.
If the answer is "yes, Tabby does use all the SSHProfile attributes and makes its own connections" then I'll try to take a better look at improving the code and implementing the inheritance rules. If not, then I'll look at how the code might be modified to be smarter about parsing the host names.
As an example of what is giving me grief at the moment, if I have two hosts with mostly shared details, but just a single distinguishing feature between them, then I have the following in my config file...
That should give me two profiles in the "Imported from SSH config" group, but it gives me 3 i.e.
conn_1
,conn_2
andconn_1 conn_2
, the last of which is bogusBeta Was this translation helpful? Give feedback.
All reactions