Use repository Git remotes and SSH config
Some checks failed
Dependency security audit / rustsec (push) Has been cancelled
Some checks failed
Dependency security audit / rustsec (push) Has been cancelled
This commit is contained in:
@@ -92,8 +92,10 @@ ssh_agent_socket = "/run/user/1000/ssh-agent.socket"
|
||||
```
|
||||
|
||||
Private-key passphrases are stored by fingerprint in the operating-system
|
||||
secret store and never appear in TOML. IronStorage does not read OpenSSH
|
||||
configuration, try additional keys, prompt for passwords or
|
||||
secret store and never appear in TOML. Desktop builds obtain remotes from the
|
||||
password-store repository and honor the connection-only `Host`, `HostName`,
|
||||
`User`, `Port`, and `IdentityFile` directives in `~/.ssh/config`. IronStorage
|
||||
does not try additional keys, prompt for passwords or
|
||||
keyboard-interactive authentication, launch an agent, or invoke proxy/helper
|
||||
commands. The normal CLI, TUI, and desktop builds enable the storage `ssh`
|
||||
feature, so the same configuration drives
|
||||
|
||||
@@ -50,13 +50,16 @@ are read with size and line bounds; exact, hashed, and bracketed non-default
|
||||
port entries are supported. Unknown keys require an explicit call to persist
|
||||
the confirmed key atomically. Changed keys always fail and are never replaced.
|
||||
|
||||
Authentication uses one configured OpenSSH private-key file (Ed25519, ECDSA,
|
||||
or RSA) or one exact SHA-256 fingerprint from an already-running SSH agent.
|
||||
Desktop applications take remote names and URLs from the password-store's
|
||||
`.git/config`. Authentication uses the matching `~/.ssh/config` identity or an
|
||||
explicit OpenSSH private-key file (Ed25519, ECDSA, or RSA), or one exact SHA-256
|
||||
fingerprint from an already-running SSH agent.
|
||||
Encrypted-key passphrases come from `SecretBytes` in the operating-system
|
||||
secret store. Identity attempts are bounded and deterministic; IronStorage
|
||||
does not spray keys, use passwords or keyboard-interactive authentication,
|
||||
read OpenSSH configuration, start/probe an agent process, or run proxy/helper
|
||||
commands. The explicit client allowlist excludes SHA-1 key exchange/MAC,
|
||||
start/probe an agent process or run proxy/helper commands. The in-process
|
||||
client reads `Host`, `HostName`, `User`, `Port`, and `IdentityFile`; executable
|
||||
OpenSSH directives remain disabled. The explicit client allowlist excludes SHA-1 key exchange/MAC,
|
||||
RSA/SHA-1 signatures, DSA, CBC, `none`, compression, and host certificates.
|
||||
Cancellation interrupts connection and authentication without changing Git,
|
||||
known hosts, or secure storage.
|
||||
|
||||
@@ -85,8 +85,9 @@ host/key interaction design.
|
||||
|
||||
## Deliberate OpenSSH differences
|
||||
|
||||
IronStorage does not read arbitrary OpenSSH configuration, `ProxyCommand`,
|
||||
`Match`, URL rewrites, separate push URLs, host certificates, password or
|
||||
IronStorage reads the connection-only `Host`, `HostName`, `User`, `Port`, and
|
||||
`IdentityFile` directives from OpenSSH configuration. It does not support
|
||||
`ProxyCommand`, `Match`, URL rewrites, separate push URLs, host certificates, password or
|
||||
keyboard-interactive authentication, agent forwarding, arbitrary remote
|
||||
commands, local transport helpers, or local-path remotes. These are explicit
|
||||
security boundaries, not partial implementations. HTTPS smart Git remains the
|
||||
|
||||
Reference in New Issue
Block a user