168 votes

Comment exécuter ssh-add sous Windows ?

Je suis #335 Déploiement sur un VPS et vers la fin de l'épisode, nous devons exécuter ssh-add pour donner au serveur l'accès au repo github.

Le problème est de savoir comment l'exécuter sous Windows. Que faut-il installer ?

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

9voto

utrecht Points 456

Afin d'exécuter ssh-add Sous Windows, on peut installer git en utilisant choco install git . Le site ssh-add est reconnue une fois que C:\Program Files\Git\usr\bin a été ajouté comme variable PATH et 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>

2voto

Hasan Tezcan Points 436
eval "$(ssh-agent -s)" 

ssh-add C:/Users/Dell/.ssh/gitlab (your path)

git clone repo_link

1voto

Arne Olafson Points 11

Le GUI de Git pour Windows a une application basée sur une fenêtre qui vous permet de coller les emplacements pour les clés ssh et les url de repo, etc :

https://gitforwindows.org/

1voto

user2430771 Points 1096

La solution ci-dessous a résolu mon problème. Assurez-vous d'exécuter votre powershell en mode administrateur et effectuez l'opération ci-dessous :

  1. Vérifier l'état actuel de ssh-agent : "Get-Service | select -property name,starttype" --> devrait être Disabled (désactivé)

  2. Définir le nouveau type : "Set-Service -Name ssh-agent -StartupType Manual"

  3. Démarrez-le : "Start-Service ssh-agent"

  4. Ajoutez simplement votre clé comme précédemment : "ssh-add" (Ex. ssh-add keyfile)

J'ai trouvé la solution ici :

0voto

mosh Points 153

Cela fonctionne avec cmd simple sur win7 et win10 et cygwin ssh/git/github :

c:\> type ssh-agent-start-cmd.cmd

@echo off
@ by github/moshahmed
if "%1" == "" (
  echo "Usage: ssh-agent-cmd keyfile .. starts ssh-agent and load ~/.ssh/*keyfile*"
  goto :eof
)

taskkill /f /im ssh-agent.exe
:: pskill ssh-agent 2> nul
for /f "tokens=1 delims=;" %%a in ('ssh-agent') do (
  echo %%a | findstr /C:"SSH" 1>nul
  if errorlevel 1 (
    echo Ignore %%a
  ) else (
    echo set %%a
         set %%a
  ) 
)
ssh-add ~/.ssh/*%1*
ssh-add -l

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X