2010-06-06 11 views
38

Estoy intentando configurar Git para usar Plink. Me funcionó muchas veces antes. Ahora, por alguna razón, esta opción no está disponible para mí (que está activada):Configurar Git para usar Plink

Git Setup Plink option screenshot

He intentado desinstalar y reinstalar Git cien veces. Nada. No puedo acceder a esta opción habilitada.

+0

¿Está seguro de que la variable de entorno se está configurando correctamente para el proceso? Puede instalar Process Explorer y usarlo para examinar un programa que ya se está ejecutando. – TerryP

+0

No tengo la opción de establecer la variable – Terminal58

+2

¿Qué mostró esa captura de pantalla? ¿Alguien podría tomar uno nuevo o describirlo en palabras? – SamB

Respuesta

39

Esta es una vieja pregunta, y solo tengo el mismo problema, solo para asegurarme de escribir la solución que funcionó para mí.

  • El instalador msysgit no mostró la pantalla que permite seleccionar entre el cliente OpenSSH y la tortuga (plink)

  • La solución es instalar la masilla (o tortuga Plink supongo), crean y guarde al menos una sesión, simplemente instalando Putty no funcionó, la sesión debe ser creada, el instalador hace un poco de control sobre eso.

  • Cuando vuelva a ejecutar el instalador de Git, debería aparecer la pantalla.

enter image description here

+0

Funciona con Git 1.7.8 – Radu

+1

Necesitaba tener Pagent en ejecución. –

17

Esto parece issue 368

Cuando he actualizado el Nunca instale preguntó si quería utilizar PLINK.
Ahora Git sigue buscando una clave OpenSSH. Git no pudo encontrar mi llave de masilla.

He intentado cargar mi clave privada putty y volver a instalar Git. No importa lo que haga, no puedo hacer que Git use mis datos de plink y la clave privada.

Esto tiene una solución (issue 367)

1) asegurándose de que está en plink PATH
2) Almacenamiento de valores para una sesión de masilla (no importa cuál)

y haciendo eso antes de instalar git.


Incluso con ese proceso, no es fácil:

que finalmente fue capaz de conseguir GIT trabajar con Plink.

Un comentario:
Comencé una sesión de Plink antes de instalar GIT. Incluso con una sesión de Plink ejecutándose nunca logré que el instalador reconociera que PLink se estaba ejecutando.

Mi trabajo en torno a:

  1. que finalmente acaba de instalar GIT 1.6.5.1.
  2. I cambió la ruta de Plink para eliminar espacios. Cambié el directorio de: c:\program files\putty a c:\putty.
  3. I configure la variable de entorno GIT_SSH en la nueva ruta. c:\putty\plink.exe.

Con estos cambios, GIT ahora funciona correctamente.


Janusz Skonieczny añade in the comments:

Para configurar esta ejecutar rápidamente PowerShell como administrador:

[Environment]::SetEnvironmentVariable("GIT_SSH", "D:\your_path_here\plink.exe", "User") 

actualización de marzo de 2017, para Git 2,13 (Q2 2017)

Git ahora autodetecta el ssh que necesita (openssh o plink), pero puede forzar esa detección con ss.variant.

Ver commit dd33e07 (01 Feb 2017) y commit e9d9a8a (02 Jan 2017) por Segev Finer (segevfiner).
Ver commit e2824e4 (01 Feb 2017) por Johannes Schindelin (dscho).
Ver commit 6a4f3a9 (26 de enero de 2017) por Junio C Hamano (gitster).
(Fusionado por Junio C Hamano -- gitster -- en commit be6ab59 27 Feb 2017)

ssh.variant: 

Dependiendo del valor de las variables de entorno GIT_SSH o GIT_SSH_COMMAND, o el ajuste core.sshCommand config, Git detecta automáticamente si hay que ajustar su parámetros de línea de comandos para usar con plink o tortoiseplink, a diferencia de los valores predeterminados (OpenSSH).

La variable de configuración ssh.variant se puede configurar para anular esta autodetección;
valores válidos son ssh, plink, putty o tortoiseplink.
Cualquier otro valor se tratará como ssh normal.
Esta configuración puede anularse mediante la variable de entorno GIT_SSH_VARIANT.

+9

Lo más destacado: evitar espacios en el camino a 'plink.exe'; apunte 'GIT_SSH' al plink. – SamB

+0

¿Por qué no está plink en su 'PATH'? 'GIT_SSH = plink' funciona bien para mí :-p – binki

+0

@binki porque tenía varios plink (uno con masilla, uno con GoW (https://github.com/bmatzelle/gow/wiki), y quería estar seguro para hacer referencia al que yo quería. – VonC

50

acabo de tener este problema (con una nueva versión de Git, 1.7.9).He utilizado la respuesta de VonC, pero se necesitaban sólo un par de pasos:

  1. Establecer la variable de entorno GIT_SSH a la ubicación de plink.exe
  2. Run pagent.exe y cargar su clave privada

en 64 bit Windows, la ubicación predeterminada para plink es C:\Program Files (x86)\GitExtensions\PuTTY\plink.exe Los espacios en la ruta ya no parecen ser un problema.

+0

excelente! Funciona para versiones git posteriores también –

+0

Funcionó bien y (suponiendo que sepa dónde establecer el entorno vars) es mucho más fácil que reinstalar – amenthes

+0

Los espacios en la ruta siguen siendo un problema. Una solución es usar un nombre de archivo corto que no contenga espacios. t nombre de archivo usando el siguiente comando: 'cmd/c para% A in (" c: \ Path \ to \ file ") do @echo% ~ sA'. – neverov

0

Si está utilizando TortoiseGit, puede configurar permanentemente su plink. Por supuesto, use la ruta correcta en su máquina.

setx GIT_SSH "C:\Program Files\TortoiseGit\bin\TortoiseGitPlink.exe" 
Cuestiones relacionadas