web-dev-qa-db-fra.com

Comment exécuter ssh-add sur Windows?

Je suis # 335 Lors du déploiement sur un VPS , et vers la fin de l'épisode, nous devons exécuter ssh-add pour permettre au serveur d'accéder au référentiel github.

Le problème est comment puis-je l'exécuter dans Windows? Quel besoin d'installer?

Je sais que pour exécuter ssh pour accéder au serveur distant, je peux utiliser PuTTY. Mais cette commande doit être exécutée localement, je sais comment utiliser PuTTY pour le faire.

19
cqcn1991

On pourrait installer Git pour Windows et ensuite exécuter ssh-add:

Étape 3: Ajoutez votre clé à l'agent ssh

Pour configurer le programme ssh-agent afin qu’il utilise votre clé SSH:

Si vous avez installé GitHub pour Windows, vous pouvez l’utiliser pour cloner des référentiels et ne pas gérer les clés SSH. Il est également livré avec l'outil Git Bash, qui est le moyen privilégié d'exécuter des commandes git sous Windows.

  1. Assurez-vous que ssh-agent est activé:

    • Si vous utilisez Git Bash, activez ssh-agent:

      # start the ssh-agent in the background
      ssh-agent -s
      # Agent pid 59566
      
    • Si vous utilisez une autre invite de terminal, telle que msysgit, activez ssh-agent:

      # start the ssh-agent in the background
      eval $(ssh-agent -s)
      # Agent pid 59566
      
  2. Ajoutez votre clé SSH à ssh-agent:

    ssh-add ~/.ssh/id_rsa
    
23
RaymondChou

Réponse originale

Assurez-vous d'avoir installé Git et d'avoir le dossier cmd de git dans votre PATH. Par exemple, sur mon ordinateur, le chemin d'accès au dossier cmd de git est C:\Program Files\Git\cmd

Assurez-vous que votre fichier id_rsa est dans le dossier c:\users\yourusername\.ssh

Redémarrez votre invite de commande si vous ne l'avez pas déjà fait, puis exécutez start-ssh-agent. Il trouvera votre id_rsa et vous demandera la phrase secrète.

Mise à jour 2019 - Une meilleure solution si vous utilisez Windows 10: OpenSSH est disponible avec Windows 10, ce qui rend l'utilisation de SSH depuis cmd/powershell beaucoup plus facile à mon avis. Cela ne dépend pas non plus de la présence de git, contrairement à ma solution précédente.

  1. Ouvrez Manage optional features dans le menu de démarrage et assurez-vous que vous avez bien Open SSH Client dans la liste. Sinon, vous devriez pouvoir l'ajouter.

  2. Ouvrez Services à partir du menu de démarrage

  3. Faites défiler jusqu'à OpenSSH Authentication Agent> clic droit> propriétés

  4. Changez le type de démarrage de Désactivé à l’une des 3 autres options. J'ai le mien réglé sur Automatic (Delayed Start)

  5. Ouvrez cmd et tapez where ssh pour confirmer que le chemin en haut de la liste est dans System32. Le mien est installé à C:\Windows\System32\OpenSSH\ssh.exe. Si ce n'est pas dans la liste, vous devrez peut-être fermer et rouvrir cmd.

Une fois que vous avez suivi ces étapes, ssh-agent, ssh-add et toutes les autres commandes ssh doivent maintenant fonctionner à partir de cmd. Pour démarrer l'agent, vous pouvez simplement taper ssh-agent.

  1. Étape facultative/dépannage: si vous utilisez git, vous devez définir la variable d'environnement GIT_SSH sur la sortie de where ssh que vous avez exécutée auparavant (par exemple, C:\Windows\System32\OpenSSH\ssh.exe). Ceci permet d'éviter les incohérences entre la version de ssh que vous utilisez (et vos clés sont ajoutées/générées avec) et la version que git utilise en interne. Cela devrait éviter des problèmes similaires à celui-ci

Quelques bonnes choses à propos de cette solution:

  • Vous n'avez pas besoin de démarrer ssh-agent à chaque fois que vous redémarrez votre ordinateur.
  • Les identités que vous avez ajoutées (à l'aide de ssh-add) seront automatiquement ajoutées après le redémarrage. (Cela fonctionne pour moi, mais vous aurez peut-être besoin d'un fichier de configuration dans votre dossier c:\Users\User.ssh)
  • Tu n'as pas besoin de git!
  • Vous pouvez enregistrer n'importe quelle clé privée rsa auprès de l'agent. L'autre solution ne récupérera qu'une clé nommée id_rsa

J'espère que cela t'aides

32
tamj0rd2

Pour exécuter ssh-add sous Windows, vous pouvez installer git à l'aide de choco install git. La commande ssh-add est reconnue une fois que C:\Program Files\Git\usr\bin a été ajouté en tant que variable PATH et que l'invite de commande a été redémarrée:

C:\Users\user\Desktop\repository>ssh-add .ssh/id_rsa
Enter passphrase for .ssh/id_rsa:
Identity added: .ssh/id_rsa (.ssh/id_rsa)

C:\Users\user\Desktop\repository> 
4
030

ssh-add est la commande pour ajouter une clé à un agent local. PuTTY a son propre programme d'agents appelé pageant , qui remplit la même fonction.

4
Mark O'Connor

L’interface graphique Git pour Windows a une application basée sur une fenêtre qui vous permet de coller des emplacements pour les clés ssh et l’URL de dépôt, etc.:

https://gitforwindows.org/

1
Arne Olafson

Si vous essayez de configurer une clé pour utiliser git avec ssh, vous avez toujours la possibilité d'ajouter une configuration pour le fichier d'identité.

vi ~/.ssh/config

Host example.com
IdentityFile ~/.ssh/example_key
0
Brian Ng