SshSharp resolves ssh_config with OpenSSH's rules (first value wins, Host and Match blocks, Include, % tokens, ~ and
environment variables, algorithm lists with +, - and ^), and SshClient.ConnectAsync(destination) applies the result. This
page lists what each directive does in SshSharp. Directives not listed are parsed and available in SshHostConfig.Options, but
have no effect.
Keywords are case-insensitive, as in OpenSSH. The Property column is the SshHostConfig property that holds the resolved
value.
Structure
Directive
Notes
Host
Patterns with *, ? and ! negation.
Match
all, host, originalhost, user, localuser, canonical, final, exec, tagged, localnetwork, sessiontype, command; negation with !. exec runs only with SshConfigResolveOptions.ExecMatcher; sessiontype and command match only when SessionType (and Command) are given; version never matches.
Include
Globs, relative to ~/.ssh (user file) or the system directory; at most 16 levels and 1,024 files.
Tag
Matched by Match tagged; SshConfigResolveOptions.Tag overrides it.
Destination and transport
Directive
Property
Applied when connecting by alias
HostName
HostName
Yes, with %h and other tokens.
Port
Port
Yes.
User
User
Yes; user@ in the destination wins.
ProxyJump
ProxyJump
Yes: each hop resolved, verified and authenticated with its own settings.