Git con SSH en Windows

He revisado la excelente guía proporcionada por Tim Davis, que trata sobre la configuration de Git para trabajar con SSH en Windows a fin de producir un server Git para tener un lugar principal para mi DVCS.

Estoy en el process de crear un clon para mi proyecto. He pasado por todos los pasos hasta este punto, pero sigo obteniendo esto de TortoiseGit:

git.exe clone -v “ssh://Administrator@127.0.0.1:22/SSH/Home/administrator/myapp.git” “E:\GitTest\myapp” bash: Administrator@127.0.0.1: command not found Initialized empty Git repository in E:/GitTest/myapp/.git/ fatal: The remote end hung up unexpectedly Success 

y nada se clona.

Por cierto: The TortoisePLink aparece justo antes de que aparezca este post y me pregunta: " login as: " (pensé que esta información se da en el command, es decir: Administrator@blahblah .

La variable de mi casa está configurada en el lugar correcto: desde un shell de Git Bash:

 echo $HOME /c/SSH/home/Administrator 

También intenté usar el plink de Putty en lugar de TortoisePLink (tanto en la installation de Git's como en la de TortoiseGit ). Esta vez, el error se networkingujo a:

 git.exe clone -v “ssh://Administrator@127.0.0.1:22/c:/SSH/Home/administrator/myapp.git” “E:\GitTest\myapp” Initialized empty Git repository in E:/GitTest/myapp/.git/ fatal: The remote end hung up unexpectedly 

Luché con este problema durante unas horas antes de tropezar con la respuesta obvia. El problema que tuve fue que estaba usando diferentes implementaciones ssh entre cuando generaba mis keys y cuando usaba git.

Utilicé ssh-keygen desde el símbolo del sistema para generar mis keys pero cuando probé "git clone ssh: // …" obtuve los mismos resultados que tú, un post de request de contraseña y el post "fatal: el control remoto" final colgó inesperadamente ".

Determine qué ssh windows está utilizando ejecutando el command Windows "where".

 C:\where ssh C:\Program Files (x86)\Git\bin\ssh.exe 

La segunda línea te dice qué progtwig exacto se ejecutará.

A continuación, debe determinar qué ssh está usando ese git. Encuentre esto por:

 C:\set GIT_SSH GIT_SSH=C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe 

Y ahora ves el problema.

Para corregir esto simplemente ejecuta:

 C:\set GIT_SSH=C:\Program Files (x86)\Git\bin\ssh.exe 

Para verificar si se aplican cambios:

 C:\set GIT_SSH GIT_SSH=C:\Program Files (x86)\Git\bin\ssh.exe 

Ahora git podrá usar las keys que generó anteriormente.

Esta solución solo está disponible para la window actual. Para solucionarlo por completo, necesitas cambiar tu variable de entorno.

  1. Abre el explorador de Windows
  2. Haga clic con el button derecho en Equipo y select Propiedades
  3. Haga clic en el enlace Configuración avanzada del sistema a la izquierda
  4. Haga clic en el button Variables de entorno …
  5. En la sección de variables del sistema, select la variable GIT_SSH y presione el button Editar …
  6. Actualiza el valor de la variable.
  7. Presione OK para cerrar todas las windows

Ahora cualquier window de command futura que abra tendrá la configuration correcta.

Espero que esto ayude.

está utilizando una cita inteligente lugar de " aquí:

 git.exe clone -v “ssh:// ^^^ 

Asegúrate de usar la comilla simple-vieja-doble.

Como esto sigue apareciendo en los resultados de búsqueda para hacer que git y github funcionen con SSH en Windows (y porque no necesitaba nada de las guías anteriores), agrego la siguiente y sencilla solución.

(Microsoft dice que están trabajando para agregar SSH a Visual Studio, y GitHub para Windows aún no es compatible con SSH …)

1. Instalé "git para Windows" (que incluye ssh y un shell bash)

https://git-scm.com/download/win

2. Desde el shell bash incluido (que, para mí, se instaló en: C:\Program Files\Git\git-bash.exe )

cd al nivel raíz de donde desea que se guarde el repository (algo así como: C:\code\github\ ), y

Tipo:

eval $(ssh-agent -s) && ssh-add "C:\Users\YOURNAMEHERE\.ssh\github_rsa"

3. Escriba: (el enlace SSH del repository)

git clone git@github.com:RepoName/Project.git

Encontré mi ssh.exe en el directory "C: / Archivos de progtwig / Git / usr / bin"