J'ai un service de construction automatique qui télécharge à partir d'un référentiel privé git. Le problème est que lorsqu'il essaie de cloner le référentiel, il doit fournir le mot de passe, car il n'est pas mémorisé; donc parce qu'il n'y a pas d'interaction humaine, il attend toujours le mot de passe. Comment puis-je le forcer à se souvenir de id_rsa.pub?
125
eval $(ssh-agent)
place.ssh-add ~/.ssh/myfile_rsa
copy > ~/.bashrc
dans git bash pour créer le fichier bashrc dans windows, ignorez l'erreurCette réponse explique comment obtenir le nom d'utilisateur et le mot de passe GitHub à stocker de manière permanente, et non la phrase de passe de la clé SSH.
Sous Windows, exécutez simplement
Cela signifie que la prochaine fois que vous poussez, vous entrerez votre nom d'utilisateur et votre mot de passe comme d'habitude, mais ils seront enregistrés dans les informations d'identification Windows. Vous n'aurez plus à les saisir à nouveau, après cela.
Comme dans, Push to GitHub sans entrer le nom d'utilisateur et le mot de passe à chaque fois (Git Bash sous Windows) .
la source
git
cela changera son comportement en fonction de l'ensemble de directives de configuration.Je préfère ne pas avoir à taper ma phrase de passe SSH lors de l'ouverture de nouveaux terminaux; Malheureusement, la solution de starmonkey nécessite que le mot de passe soit saisi pour chaque session. Au lieu de cela, j'ai ceci dans mon
.bash_profile
dossier:Cela mémorisera également ma phrase de passe pour les nouvelles sessions de terminal; Je n'ai qu'à le taper une fois lorsque j'ouvre mon premier terminal après le démarrage.
Je voudrais créditer où j'ai eu ceci; c'est une modification du travail de quelqu'un d'autre, mais je ne me souviens pas d'où ça vient. Merci auteur anonyme!
Mise à jour 01/07/2019: Je ne pense pas que tout cela soit nécessaire. Cela fonctionne maintenant de manière cohérente en m'assurant que mon
.bash_profile
fichier exécute l'agent ssh:Ensuite, j'ai mis en place un
ssh
fichier de configuration comme celui-ci:la source
Si je comprends bien la question, vous utilisez déjà une clé SSH autorisée dans le service de compilation, mais vous voulez éviter d'avoir à taper la phrase de passe pour chaque clone?
Je peux penser à deux façons de procéder:
Si votre service de build est démarré de manière interactive: avant de démarrer le service de build, démarrez
ssh-agent
avec un délai d'expiration suffisamment long (-t
option). Ensuite, utilisezssh-add
(msysGit devrait les avoir) pour ajouter toutes les clés privées dont vous avez besoin avant de démarrer votre service de build. Vous devrez toujours taper toutes les phrases de passe, mais une seule fois par lancement de service.Si vous voulez éviter d'avoir à taper les mots de passe du tout, vous pouvez toujours supprimer les mots de passe des clés SSH, comme décrit dans /server/50775/how-do-i-change-my- private-key-passphrase , en définissant une nouvelle phrase de passe vide. Cela devrait supprimer complètement l'invite de mot de passe, mais elle est encore moins sécurisée que l'option précédente.
la source
Lorsque j'ai essayé de pousser mon code, j'ai eu l'erreur ci-dessous:
Après quelques heures de recherche, j'ai trouvé que je devais utiliser la commande ci-dessous:
Après avoir exécuté la commande ci-dessus, j'ai reçu une invite pour entrer mon nom d'utilisateur et mon mot de passe GitHub. Après avoir fourni les informations d'identification correctes, je suis en mesure de transmettre mon code.
la source
La bonne solution est:
Exécutez le terminal par défaut de Windows - cmd et obtenez le répertoire de votre profil principal
Exécutez Git Bash dans le répertoire ci-dessus et créez le
.bashrc
fichier avec la commandeOuvrez le
.bashrc
fichier avec votre éditeur de texte préféré et collez le code de l'aide GitHub dans ce fichier:Redémarrez Git Bash et il vous demande votre mot de passe (seulement la première fois) et c'est fait. Aucun mot de passe ne dérange à nouveau.
la source
Vous devez créer le
authorized_keys
fichier sous le.ssh
dossier de l'utilisateur sous lequel vous allez vous connecter au serveur de référentiel. Par exemple, en supposant que vous utilisez le nombuildservice
d' utilisateur sur,repo.server
vous pouvez exécuter:Ensuite, vous devez vérifier les éléments suivants:
Cette
id_rsa
clé privée correspondante est présentée dans[email protected]:~/.shh/id_rsa
.Cette empreinte digitale de repo.server est stockée dans le
[email protected]:~/.ssh/known_hosts
fichier. En règle générale, cela sera fait après la première tentative dessh
connexion aurepo.server
.la source
cat id_rsa.pub > .ssh/authorized_keys
écrasera toutes les clés autorisées existantes. Utilisez>>
pour ajouter au lieu d'écraser.