pub struct ResolvedSshConfig {Show 18 fields
pub hostname: Option<String>,
pub user: Option<String>,
pub port: Option<u16>,
pub identity_files: Vec<PathBuf>,
pub identities_only: Option<bool>,
pub identity_agent: Option<PathBuf>,
pub certificate_files: Vec<PathBuf>,
pub proxy_command: Option<String>,
pub proxy_jump: Option<String>,
pub user_known_hosts_files: Vec<PathBuf>,
pub strict_host_key_checking: Option<StrictHostKeyChecking>,
pub host_key_algorithms: Option<AlgList>,
pub kex_algorithms: Option<AlgList>,
pub ciphers: Option<AlgList>,
pub macs: Option<AlgList>,
pub connect_timeout: Option<Duration>,
pub connection_attempts: Option<u32>,
pub provenance: Vec<DirectiveSource>,
}Expand description
Fully-resolved ssh_config for one host.
Every field is optional or a vector — the resolver applies Some(_)
or appends only when it sees a directive whose keyword maps onto the
field; otherwise the field stays at its Default value.
“First occurrence wins” applies to all single-valued fields per
ssh_config(5). Multi-valued fields (identity_files,
certificate_files, user_known_hosts_files) accumulate every
occurrence in source order, again matching OpenSSH.
Fields§
§hostname: Option<String>HostName — the real hostname to connect to (may differ from the
alias the user typed).
user: Option<String>User — login name on the remote.
port: Option<u16>Port — TCP port.
identity_files: Vec<PathBuf>IdentityFile — every IdentityFile directive contributes one
entry here, in source order.
identities_only: Option<bool>IdentitiesOnly — when true, restrict authentication to keys
listed in identity_files (no agent-supplied keys).
identity_agent: Option<PathBuf>IdentityAgent — path to a non-default agent socket.
certificate_files: Vec<PathBuf>CertificateFile — every entry contributes one path, in source order.
proxy_command: Option<String>ProxyCommand — captured raw (joined with single spaces); M13
parses and spawns it. The literal value "none" (lower-cased)
is the FR-59 disable sentinel: it is preserved here so that the
first-occurrence-wins rule shields it from a later wildcard
override, and so gitway config show mirrors ssh -G’s output;
the spawn path treats Some("none") as “no proxy”.
proxy_jump: Option<String>ProxyJump — captured raw; M13 parses the chain.
user_known_hosts_files: Vec<PathBuf>UserKnownHostsFile — every entry contributes one path.
strict_host_key_checking: Option<StrictHostKeyChecking>StrictHostKeyChecking.
host_key_algorithms: Option<AlgList>HostKeyAlgorithms — raw spec; M17 plumbs through to russh.
kex_algorithms: Option<AlgList>KexAlgorithms — raw spec; M17 plumbs through.
ciphers: Option<AlgList>Ciphers — raw spec; M17 plumbs through.
macs: Option<AlgList>MACs — raw spec; M17 plumbs through.
connect_timeout: Option<Duration>ConnectTimeout — measured in seconds in the source file,
stored here as a Duration.
connection_attempts: Option<u32>ConnectionAttempts.
provenance: Vec<DirectiveSource>One DirectiveSource entry per directive that contributed to a
known field, in the order applied. Preserves provenance for
gitway config show and the config_source= diag-line field.
Trait Implementations§
Source§impl Clone for ResolvedSshConfig
impl Clone for ResolvedSshConfig
Source§fn clone(&self) -> ResolvedSshConfig
fn clone(&self) -> ResolvedSshConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more