J'ai configuré vs code pour utiliser git bash comme terminal dans Windows 7.
"terminal.integrated.shell.windows": "C: \ Program Files \ Git \ bin \ bash.exe"
J'ai activé l'authentification par clé SSH pour accéder à distance à un hôte. Tout cela fonctionne bien depuis le terminal dans VS Code.
Cependant, lorsque j'utilise l'extension SSH vscode-remote pour me connecter à l'hôte, j'obtiens une erreur car il essaie de se connecter en utilisant "La commande de processus terminal 'cmd.exe'" au lieu de git bash.
J'ai vérifié la configuration de mes paramètres de terminal dans vs code et cela pointe vers git bash.exe
J'ai utilisé l'extension de terminal dans vs code et il ouvre un git bash et se connecte avec succès à l'hôte
Y a-t-il un paramètre qui me manque pour forcer Remote-SSH à utiliser git bash pour la connexion?
3 Réponses :
J'ai rencontré un problème similaire en essayant de faire fonctionner MS VS Code Studio Remote-SSH avec Putty's Pageant. J'avais installé Git pour Windows et dans un shell Git Bash, je pouvais ssh et récupérer les clés Pageant et aucun mot de passe n'était nécessaire.
Mais VS Code Remote-SSH, lors de l'utilisation de Git ssh dans C: \ Program Files \ Git \ usr \ bin \ ssh.exe
utilisait le shell Windows 7 cmd.exe qui ne le faisait pas parler à Pageant.
Ce qui a fonctionné pour moi sur Windows 7, VS Code 1.36.1 avec (Remote Development 0.15.0, Remote-SSH 0.44.0) et Git pour Windows 2.22:
set
pour afficher la liste des variables d'environnement. La variable SSH_AUTH_SOCK est-elle correctement définie sur quelque chose comme /tmp/.ssh-pageant-bill? c: \ Program Files \ Git \ usr \ bin \ ssh.exe user @ host
Si cela fonctionne, alors VS Code Remote-SSH devrait travail. Enfin, j'ai ajouté Pageant et start-ssh-pageant.cmd à mon démarrage Windows 7 afin que cela persiste lors des redémarrages.
J'espère que cela vous aidera.
Jerry.
La réponse de JerryL m'amène à réaliser que je peux simplement définir le chemin ssh de GIT c: \ Program Files \ Git \ usr \ bin \ ssh.exe
dans le remote.SSH.path
réglage des préférences de VS Code:
Ensuite, cela a fonctionné comme un charme.
Pour plus de clarté, ma version VS Code est: 1.40.0-insider (configuration du système)
J'ai rencontré un problème similaire en essayant d'utiliser Putty Pageant avec VS Code Remote.
1. Créez un fichier .bat quelque part avec le contenu suivant:
echo OpenSSH "C:\YOUR_PATH_HERE\PLINK.EXE" -ssh %*
2. Ouvrez les paramètres de code VS, saisissez le chemin SSH distant dans la recherche et recherchez Remote.SSH: Paramètres du chemin
3. Passez ici le chemin de votre fichier .bat
4. À présent, VS Code Remote utilisera correctement Pageant.
Malheureusement, cela ne fonctionne pas pour les ports SSH personnalisés. ssh.exe
attend -p XXXX
et plink.exe
attend le capital -P xxxx
. Un deuxième problème est que vous devez exécuter manuellement la commande générée en dehors de VSC la première fois pour accepter l'enregistrement de la clé d'empreinte digitale. Vous pouvez probablement contourner celui-ci en changeant la ligne du fichier bat en echo y | "C: \ YOUR_PATH_HERE \ PLINK.EXE" -ssh% *
pourrait être plus rapide d'ajouter et d'installer un client SSH compatible OpenSSH dans votre invite de commande?