J’ai un bâtiment automatique service quel téléchargement depuis un référentiel privé de git. Le problème est que lorsqu’il tente de cloner dépôt il faut fournir le mot de passe, car il n’est pas connu ; donc parce qu’il n’y a aucune interaction humaine, il attend toujours le mot de passe. Comment est-ce que je peux forcer il se rappeler de id_rsa.pub ?
Réponses
Trop de publicités?Pour les utilisateurs de Windows, juste une remarque que c'est de cette façon que je peux configurer Git Bash environnement à me connecter une fois quand je le démarre. J'ai modifier mon ~/.bashrc:
eval `ssh-agent` ssh-add
Donc, quand je démarre Git Bash, ça ressemble:
Bienvenue à Git (version 1.7.8-preview20111206) ( ... ) Agent pid 3376 Enter passphrase for /c/Utilisateurs/starmonkey/.ssh/id_dsa: Identité ajoutée: /c/Utilisateurs/starmonkey/.ssh/id_dsa (/c/Utilisateurs/starmonkey/.ssh/id_dsa)
Et maintenant, je peux ssh vers d'autres serveurs sans avoir à vous connecter à chaque fois.
Je sais que c'est une vieille question, mais je suis venu ici aujourd'hui, à partir d'une recherche sur google, donc j'espère que cela sera utile à d'autres.
Si je comprends correctement à la question, vous utilisez déjà autorisé clé SSH dans le service de build, mais vous voulez éviter d'avoir à taper le mot de passe pour chaque clone?
Je pense à deux façons de le faire:
Si votre service est en cours de démarrage de manière interactive: Avant de commencer à la construire de service, démarrez
ssh-agent
avec un temps suffisamment long délai d'attente (-t
option). Ensuite, utilisezssh-add
(msysGit devrait avoir ces) pour ajouter toutes les clés privées vous avez besoin avant de commencer à construire votre service. Vous auriez toujours se taper tous les mots de passes, mais une seule fois par le lancement du service.Si vous voulez éviter d'avoir à taper les phrases de passe à tous, vous pouvez toujours supprimer les phrases de passe à partir de l'clés ssh, comme décrit dans http://serverfault.com/questions/50775/how-do-i-change-my-private-key-passphraseen définissant un nouveau mot de passe vide. Cela devrait faire disparaître l'invite de mot de passe entièrement, mais il est encore moins sûr que l'option précédente.
Ce que @starmonkey dit. Dans le cas où vous êtes confus sur ce qui des ~/.bashrc vérifier cette réponse SO : Git pour Windows : fichiers de configuration .bashrc ou équivalent pour shell Git Bash
Vous devez créer authorized_keys
fichier .ssh
le dossier de l'utilisateur sous lequel vous allez vous connecter à la prise en pension de serveur. Par exemple, en supposant que vous utilisez le nom d'utilisateur buildservice
sur repo.server
vous pouvez exécuter:
cd ~buidservice
mkdir ./ssh
cat id_rsa.pub > .ssh/authorized_keys
Que vous avez pour vérifier les choses suivantes:
1.Que correspondant id_rsa clé privée est présentée dans builservice@build.server:~/.shh/id_rsa.
2.Que les empreintes digitales des pensions de titres.le serveur est stocké dans le buildservice@build.server:~/.ssh/known_hosts fichier. En règle générale, cela sera fait après la première tentative de ssh connecter des pensions.serveur.