VS Code Troubleshooting
Die folgenden Prüfungen helfen dabei zu verifizieren, dass der dev-Container die erwartete Konfiguration nutzt und keine unerwarteten Credentials, Mounts oder Dienste aktiv sind.
Prüfen welches Credential Sharing verwendet wird
Abschnitt betitelt „Prüfen welches Credential Sharing verwendet wird“Um zu prüfen, wie Git-Credentials in dem dev-Container bereitgestellt werden, können folgende Checks im Container durchgeführt werden:
1. Git-Remote prüfen
git remote -vgit@...→ SSH → meist SSH-Agent Forwardinghttps://...→ HTTPS → meist Credential Helper
2. SSH-Agent prüfen
echo $SSH_AUTH_SOCKssh-add -LWenn ein Socket gesetzt ist und Schlüssel angezeigt werden, wird SSH-Agent Forwarding verwendet.
3. Credential Helper prüfen
git config --show-origin --get-all credential.helperWenn der credential.helper auf ein vscode-remote-containers-*.js Script zeigt, verwendet der dev-Container das von VS Code bereitgestellte Credential Sharing. Die Git-Credentials werden dabei vom Host-System durchgereicht und nicht im Container gespeichert.
Prüfen ob das SSH Agent Forwarding funktioniert
Abschnitt betitelt „Prüfen ob das SSH Agent Forwarding funktioniert“Innerhalb des dev-Containers kann überprüft werden, ob das SSH-Agent-Forwarding aktiv ist. Zunächst kann geprüft werden, ob die entsprechende Umgebungsvariable gesetzt ist:
env | grep SSHWenn folgende Variable erscheint
SSH_AUTH_SOCK=/tmp/vscode-ssh-auth-...bedeutet dies, dass VS Code das SSH-Agent-Forwarding aktiv eingerichtet hat.
Prüfen, ob ein SSH-Agent weitergereicht wurde
Abschnitt betitelt „Prüfen, ob ein SSH-Agent weitergereicht wurde“VS Code leitet den lokalen SSH-Agent automatisch weiter, sofern auf dem Host-System ein SSH-Agent läuft.
Im Container:
env | grep SSH_AUTH_SOCKls -l "$SSH_AUTH_SOCK"ssh-add -lInterpretation:
- kein
SSH_AUTH_SOCKvorhanden → kein Agent sichtbar SSH_AUTH_SOCKvorhanden +ssh-add -lzeigt Keys → Agent funktioniertSSH_AUTH_SOCKvorhanden, aberssh-add -lschlägt fehl → Socket vorhanden, aber nicht nutzbar
Prüfen, welche SSH-Konfiguration tatsächlich greift
Abschnitt betitelt „Prüfen, welche SSH-Konfiguration tatsächlich greift“Die Prüfung wird hier beschrieben.
Prüfen ob die korrekte Git-Konfiguration greift
Abschnitt betitelt „Prüfen ob die korrekte Git-Konfiguration greift“Die Prüfung wird hier beschrieben.
Prüfen, ob keine privaten SSH-Keys im Container liegen
Abschnitt betitelt „Prüfen, ob keine privaten SSH-Keys im Container liegen“VS Code beschreibt automatisches SSH-Agent-Forwarding, jedoch kein Kopieren privater Schlüssel.
Der Container sollte daher keine privaten SSH-Keys enthalten, sofern sie nicht explizit gemountet wurden.
Im Container:
find /home/node/.ssh -maxdepth 1 -type f 2>/dev/nullErwartet:
configknown_hosts
Nicht erwartet:
- private Schlüssel
Prüfen, ob unerwartete Services gestartet wurden
Abschnitt betitelt „Prüfen, ob unerwartete Services gestartet wurden“Wenn runServices nicht gesetzt ist, startet Docker Compose laut Development Container Konzept standardmäßig alle Services.
Mit
runServices: ["dev"]lassen sich unerwartete Container vermeiden.
Auf dem Host-System:
docker compose psErwartet:
- nur
devund bewusst definierte Abhängigkeiten - keine zusätzlichen Services wie
app,depsoder andere Container