Support all accumulating SSH config options instead of re-implementing override behavior
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 45/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- typescript
- 領域
- tooling
調査の方向性
まず、現在のSSH設定のマージ実装とそのテストを見つけ、次に参照されているOpenBSD ssh_config(5)ドキュメントと動作を比較します。overrideオプションと累積オプションがどのように表現されているかを追跡し、一覧にあるオプションが手動で結合されることなく正しい順序で渡されていることを確認します。対応している累積オプションおよびスペース区切りオプションがネイティブのSSHの動作に従い、既存の削除動作が維持されていれば完了です。
索引モデルが issue の本文から書いたものです。
説明
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
- 主要言語
- TypeScript
- スター
- 131
- フォーク
- 48
- 平均マージ
- 4日 15時間
- マージ済み PR(30日)
- 17
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
coder/vscode-coder のほかの issue
-
coder/vscode-coder#1125 · コメント 1 件 · 担当者 1 名 ·
-
tech-debt
coder/vscode-coder#1119 · コメント 1 件 · 担当者 1 名 ·
-
enhancement tech-debt
難易度 3/5 1〜2日 初心者へのやさしさ 74/100
coder/vscode-coder#1118 · コメント 1 件 ·
-
coder/vscode-coder#1113 · コメント 3 件 · 担当者 1 名 ·
-
Flush the connection log buffer after N failed reconnect attempts against an unreachable server オープンenhancement tech-debt
難易度 5/5 1週間以上 初心者へのやさしさ 45/100
coder/vscode-coder#1112 · コメント 1 件 ·
coder/vscode-coder の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
vercel-labs/just-bash#464 ·
-
looksLikeSlug() is ASCII-only, so non-Latin entity slugs (e.g. Korean) skip exact match and collapse オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
TanStack/tanstack.com#1293 ·