Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Support all accumulating SSH config options instead of re-implementing override behavior

Ouverte
#695 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 2 jours

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
45/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
typescript
Domaine
tooling

Piste de recherche

Commencez par localiser l’implémentation actuelle de fusion de la configuration SSH et ses tests, puis comparez son comportement avec la documentation OpenBSD ssh_config(5) référencée. Suivez la manière dont les options de remplacement et d’accumulation sont représentées, et vérifiez que les options listées sont transmises dans le bon ordre, sans combinaison manuelle. Le travail est terminé lorsque les options d’accumulation et séparées par des espaces prises en charge suivent le comportement natif de SSH, tout en conservant le comportement existant de suppression.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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 override configs 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

OpenBSD ssh_config(5)

Langage dominant
TypeScript
Étoiles
132
Forks
48
Merge moyen
2 j 4 h
PR mergées (30 j)
25

Préparer son environnement

Ouvrir dans Codespaces

Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de coder/vscode-coder

Toutes les issues de coder/vscode-coder

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.