Se connecter à la base Git avec SSH à l'aide de Visual Studio 2017
Je suis en train d'essayer de se connecter à un dépôt Git (sur Bitbucket) avec SSH à partir de Visual Studio 2017 (ce qui, autant que je sache, prend en charge le protocole SSH pour Git). J'ai tout mis en place, le référentiel cloné sur mon ordinateur, et je peut commettre, mais si j'essaie de faire quelque chose comme aller chercher il échoue avec le message suivant (à partir de Visual Studio "Sortie" de la fenêtre):
Error encountered while fetching: Git failed with a fatal error.
fatal: Could not read from remote repository.
De l'essayer à partir de l'invite de commande, je reçois ces un peu plus de messages informatifs:
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
À partir de Git Bash, j'ai essayé d'ouvrir l'agent SSH, ajoutant ma clé privée, et l'extraction, et il semble fonctionner (ou, au moins, je ne reçois pas tous les messages, à la différence lorsque l'agent n'est pas démarré ou la clé n'est ajouté):
eval `ssh-agent`
ssh-add ~/.ssh/xxxx
git fetch
Mais Visual Studio est toujours impossible de se connecter. J'ai également essayé de faire de même à partir de l'invite de commande Windows:
ssh-agent
set SSH_AUTH_SOCK=/tmp/ssh-SIAryCa61iz9/agent.11128
set SSH_AGENT_PID=9804
ssh-add xxxx
git fetch
Mais j'obtiens toujours la même erreur.
J'ai déjà ajouté de la clé publique de Bitbucket, et ssh -T [email protected]
n'sortie "connecté en tant que xxxx". Aussi, je peux me connecter correctement à l'aide de SourceTree et l'ajout de la clé privée de Spectacle (la clé que j'utilise pour ssh-add
a les format OpenSSH, j'ai créé il de la .ppk un).
OriginalL'auteur Trisibo | 2017-03-13
Vous devez vous connecter pour publier un commentaire.
J'ai enfin réussi à le faire fonctionner, à l'aide de Mastic le Spectacle de l'agent d'authentification au lieu de
ssh-agent
, et en suivant les étapes mentionnées ici (c'est pour le Code de Visual Studio, mais travaille pour Visual Studio 2017 et je pense que cela devrait fonctionner pour n'importe quelle application qui utilise la fonction "officielle" Git pour Windows).Puisque j'ai déjà eu des Concours installés et une .ppk clé privée créée, je n'avais qu'à faire Git utiliser Pageant, par la création de la
GIT_SSH
variable d'environnement Windows et le mettre sur le chemin de l' "plink.exe" fichier (à l'intérieur de la pâte d'installation, par exempleC:\Program Files (x86)\PuTTY\plink.exe
). Avec ce fait, j'ai juste besoin d'ouvrir des Concours de beauté et ajouter la clé privée (et de la laisser ouverte pendant le travail avec le référentiel), et Visual Studio sera en mesure de se connecter et d'envoyer des commandes à l'amende juste.OriginalL'auteur Trisibo
il y a une autre façon, fonctionne pour moi.
semble VS2017 exécuter connexion ssh sur le sa propre, de sorte qu'il ignore clé ssh-add ajoutée, et d'utiliser le chemin par défaut de la clé de
Oui, j'ai créer un référentiel utilisez "git init --bare" sur le serveur et y accéder via ssh://server-ip/quelques-chemin/référentiel.git. La clé ssh est utilisé pour se connecter à ce serveur.
Et si vous supprimez le fichier id_rsa il échoue?
Il ouvre une fenêtre me laisser entrer le mot de passe si j'ai supprimé le fichier id_rsa. La phrase n'est pas la clé, mais pour le serveur.
Cela semble la solution la plus simple, j'ai copié les fichiers à l'aide de Bash sur Ubuntu que sur Windows: cp ~/.ssh/* /mnt/c/Utilisateurs/[Mon Utilisateur]/.ssh/
OriginalL'auteur Raven
Voici une solution qui permettrait de se connecter Visual Studio (et Git) à plusieurs référentiels par SSH, avec des clés privées si nécessaire et authentification ssh agent pour gérer les touches " phrases de passe.
C'est bon pour les utilisateurs de l'entreprise, parce que vous ne pas besoin des droits d'administrateur sur votre ordinateur pour suivre les étapes ci-dessous.
Il est expliqué sur l'exemple de Bitbucket, mais peut être étendue à Github et rien d'autre.
Conditions préalables
Télécharger et installer Git
Sur l'ouverture d'un projet, Visual Studio va vous demandent de télécharger et installer Git paquet. Vous pouvez le faire à l'aide d'un lien fourni dans Visual Studio de la notification ou de l'utilisation de ce lien.
Installation de Git pour l'utilisateur actuel uniquement.
Utiliser les options d'installation par défaut.
Générer votre privée/clé publique de la paire de
"%LOCALAPPDATA%\Programmes\Git\usr\bin\"
par exemple:
"C:\Users\NSM\AppData\Local\Programs\Git\usr\bin\"
Ouvrez l'Invite de Commande et allez dans le dossier que vous avez trouvé:
Créer un dossier pour stocker vos clés si il n'existe pas
Générer une nouvelle clé ssh:
par exemple:
Il est conseillé de spécifier ils passphrase de la clé. Rappelez-vous la phrase de passe, vous ne serez pas en mesure de le récupérer si vous l'avez oublié!
Ajouter votre clé publique sur Bitbucket
ssh-rsa AAAAB3Nza<skipped>BkPqxFQ== nsm
Configurer ssh pour utiliser votre clé pour Bitbucket code source demandes
Créer config fichier dans le "%HOME%/.ssh/" dossier avec le contenu suivant:
Par exemple:
De sortie:
AddKeysToAgent oui option ajouter le privé configuré clés pour l'authentification ssh agent sur demande
Configurer Git pour utiliser l'authentification ssh agent
De taper la phrase de passe à chaque fois que la clé privée a été utilisé est un pénible fardeau. Pour éviter cela, nous allons utiliser l'authentification ssh agent
Dans le dossier où le programme ssh-keygen utilitaire a été trouvé (par défaut c'est:
"%LOCALAPPDATA%\Programmes\Git\usr\bin\"), créer ssh.cmd fichier avec le contenu suivant:
Ce script se charge de l'authentification ssh agent avant ssh.exe est exécutée et permettre ssh.exe pour communiquer avec elle par socket spécifié dans le SSH_AUTH_SOCK variable d'environnement.
À partir de l'Invite de commandes, exécutez la commande suivante:
Créer une télécommande pour votre dépôt local à l'aide de la Bitbucket lien fourni
Remplacer le nom de domaine complet dans le lien avec l'étiquette que vous avez fournies dans le ./ssh/config fichier. Qui vous permettra d'utiliser les sections de configuration avec les touches multiples lors de la connexion à Bitbucket ou Github dépôts
Fait
OriginalL'auteur Sergey Nudnov
Bien, je ne pouvais pas trouver la voie la plus directe pour configurer le dépôt Git avec VS 2017, comme l'option Cloner n'accepte que les URI pas le SSH.
Je n'ai suivantes:
À l'aide de Git Bash pour générer les Clés vous pouvez trouver ici.
Il y a un URI différent pour chaque référentiel pour le clone à l'aide de SSH mais c'est toujours une URI. Vous pouvez trouver à la fois en cliquant sur "Utiliser SSH" et "HTTPS" dans Github du "Clone ou télécharger des" pop-up.
OriginalL'auteur Rahul Shanbhag
De cette façon, a travaillé pour moi (VS 2017 /Win7):
OriginalL'auteur ndberg
Dans VS2017
J'ai eu le même problème.j'ai essayé un peu de méthode pour la solution :
mais pas résolu mon problème.
Et j'ai ouvert "Visual Studio Installer" et réparé.il a été résolu.
OriginalL'auteur ahmeticat