wez / wezterm

A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
https://wezfurlong.org/wezterm/
Other
17.99k stars 807 forks source link

Wezterm connect failed with "Match tagged" ssh config #4756

Open nappairam opened 10 months ago

nappairam commented 10 months ago

What Operating System(s) are you seeing this problem on?

macOS

Which Wayland compositor or X11 Window manager(s) are you using?

No response

WezTerm version

20230712-072601-f4abf8fd

Did you try the latest nightly build to see if the issue is better (or worse!) than your current version?

Yes, and I updated the version box above to show the version of the nightly that I tried

Describe the bug

When ssh config has "Match tagged" syntax, wezterm is not able to create ssh domain using wezterm connect <>

wezterm connect lh
11:29:24.797  ERROR  mux::connui >
Failed: Error: Fatal: ERROR - Unknown argument 'tagged' for Match keyword

11:29:24.821  ERROR  wezterm_gui > Error: Fatal: ERROR - Unknown argument 'tagged' for Match keyword; terminating

Please find the minimal configuration below:

To Reproduce

[root@macbook] $ cat .ssh/config
Host lh
    Hostname localhost
    Tag agent-custom

Match tagged agent-custom
    IdentityAgent "~/.ssh/agent.sock"

With this config, open ssh client is able to create ssh connection successfully using custom ssh agent.

Configuration

local config = {}

local wezterm = require 'wezterm'
if wezterm.config_builder then
  config = wezterm.config_builder()
end

config.ssh_domains = {
  {
    name = 'lh',
    remote_address = '127.0.0.1',
  },
}

return config

Expected Behavior

wezterm connect lh should succeed.

Even if wezterm does not have full support for parsing ssh config, it should not error out. Wezterm should ignore the unknown configs and proceed with available config.

Logs

Debug Overlay wezterm version: 20230712-072601-f4abf8fd aarch64-apple-darwin Window Environment: macOS 14.2.1 (23C71) OpenGL: Apple M2 Pro 4.1 Metal - 88 Enter lua statements or expressions and hit Enter. Press ESC or CTRL-D to exit

Anything else?

No response

wez commented 10 months ago

That error comes from the underlying libssh library. Please raise an issue with the upstream project: https://gitlab.com/libssh/libssh-mirror/-/issues