Support all accumulating SSH config options instead of re-implementing override behavior
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 45/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- typescript
- Ambito
- tooling
Direzione di ricerca
Inizia individuando l’implementazione attuale dell’unione della configurazione SSH e i relativi test, quindi confronta il suo comportamento con la documentazione OpenBSD ssh_config(5) referenziata. Traccia il modo in cui sono rappresentate le opzioni di override e cumulative e verifica che le opzioni elencate vengano passate nell’ordine corretto, senza combinazione manuale. Il lavoro è completato quando le opzioni cumulative e separate da spazi supportate seguono il comportamento nativo di SSH, mentre il comportamento esistente di rimozione rimane invariato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Currently we manually handle SSH config merging, but this requires re-implementing SSH's "first match wins" override behavior ourselves.
Proposed approach
Instead of manual merging, let the SSH client handle it natively:
- Place
overrideconfigs first in the file (SSH uses "first match wins") - Keys without values (for non-accumulating options) can be used to remove the entry if we still want to maintain that behavior
- For accumulating options, pass entries as-is from both configs without combining them
This keeps files leaner while avoiding custom override logic.
Accumulating SSH options to support
These options accumulate across multiple declarations rather than following "first match wins":
| Option | Behavior |
|---|---|
IdentityFile |
Tried in sequence |
CertificateFile |
Tried in sequence |
SetEnv |
All values sent to server |
SendEnv |
Accumulates (prefix with - to clear) |
LocalForward |
Multiple tunnels |
RemoteForward |
Multiple tunnels |
DynamicForward |
Multiple SOCKS proxies |
Additionally, these use space-separated values: GlobalKnownHostsFile, UserKnownHostsFile, PermitRemoteOpen, CanonicalDomains.
Reference
- Lingua principale
- TypeScript
- Stelle
- 131
- Fork
- 48
- Merge medio
- 4g 21h
- PR unite (30g)
- 14
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di coder/vscode-coder
-
tech-debt
coder/vscode-coder#1120 · 1 commento · 1 assegnatario ·
-
tech-debt
coder/vscode-coder#1119 · 1 commento · 1 assegnatario ·
-
enhancement tech-debt
Difficoltà 3/5 1-2 giorni Idoneità per principianti 74/100
coder/vscode-coder#1118 · 1 commento ·
-
coder/vscode-coder#1113 · 3 commenti · 1 assegnatario ·
-
Flush the connection log buffer after N failed reconnect attempts against an unreachable server Apertaenhancement tech-debt
Difficoltà 5/5 Più di una settimana Idoneità per principianti 45/100
coder/vscode-coder#1112 · 1 commento ·
Tutte le issue di coder/vscode-coder
Issue simili
-
blocklist removal
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
MetaMask/eth-phishing-detect#296544 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
pastelsky/bundlephobia#1122 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
category/development priority/P2 scope/file-operations scope/testing type/enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Enatega Customer and Rider app: Add-ons price is not visible to customer after order is placed. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100