2010-05-15 19 views
32

Estoy intentando configurar GIT en mi máquina con Windows XP, pero SSH sigue creando y buscando el par de claves pública/privada en lugares no sensuales , p.ej /.ssh/id_rsaSSH está buscando en el lugar incorrecto para el par de claves pública/privada en Windows

¿Hay un archivo de configuración en la instalación de GIT para Windows donde puedo cambiar esto a mi directorio de inicio u otro lugar definido por el usuario? Por defecto, ofrece crear nuevos pares de claves en //.ssh/id_rsa, pero eso me da el error "No se pudo crear el directorio '//.ssh'." Y cuando pueda encontrar un directorio en el que pueda crearlo, GIT no se verá allí.

+0

El error "could not create directory" se puede resolver ejecutando 'sudo' reiniciando el shell como administrador. Me doy cuenta de que esto no resuelve la raíz de su problema, pero pensé que vale la pena mencionarlo ya que alguien con ese problema podría terminar aquí – Paul

Respuesta

61

descubierto la manera de configurar manualmente mi directorio en Windows XP:

  1. Haga clic derecho en "Mi PC"
  2. Seleccione la pestaña "Avanzado"
  3. Haga clic en "Variables de entorno" botón
  4. En la sección "Variables del sistema", haga clic en "Nuevo"
  5. En el "Nombre de la variable", ingrese "home".
  6. En el "Valor de variable", ingrese la ruta a su perfil.

a hacer lo mismo a través de línea de comandos hacer:

setx HOME "your\path\to\home" 

(Tenga en cuenta que el sufijo x - Esto se utiliza para guardar el cambio)

+2

Solo como un consejo, sinceramente no recuerdo si esta opción está disponible en XP, pero al menos en las versiones más nuevas de Windows, puede agregar esto como una variable de usuario en lugar de una variable del sistema. Obviamente, el directorio de inicio para su usuario no es un sistema completo. – btleffler

+0

Esto solucionó mi problema en Windows 10. Estoy ejecutando Cygwin git, y no estaba tirando de la clave ssh. –

-1

En Windows 7 Sólo tiene que colocar su clave privada (id_rsa) dentro de C: \ Users \ .ssh FOLDER Si la carpeta .ssh no existe, solo créela. Descargar GIT para Windows, CD en el directorio del proyecto y hacer ssh clon git: //@/.git~~V~~singular~~3rd

+2

El problema está realmente relacionado con el hecho de que HOME no se ha establecido, ya que la respuesta aceptada señala – kakoma

0

que estaba teniendo un problema similar en Windows 7. La variable de entorno HOME parecía estar ajustado correctamente:

$ echo $HOME 
C:\Users\craibuc 

Sin embargo, los intentos de conectarse a probar el acceso de github ssh fallidos:

$ ssh -Tv [email protected] 
OpenSSH_6.6.1, OpenSSL 1.0.1i 6 Aug 2014 
debug1: Connecting to github.com [192.30.252.129] port 22. 
debug1: Connection established. 
Could not create directory 'C/.ssh'. 
debug1: identity file C/.ssh/id_rsa type -1 
debug1: identity file C/.ssh/id_rsa-cert type -1 
debug1: identity file C/.ssh/id_dsa type -1 
debug1: identity file C/.ssh/id_dsa-cert type -1 
debug1: identity file C/.ssh/id_ecdsa type -1 
debug1: identity file C/.ssh/id_ecdsa-cert type -1 
debug1: identity file C/.ssh/id_ed25519 type -1 
debug1: identity file C/.ssh/id_ed25519-cert type -1 
debug1: Enabling compatibility mode for protocol 2.0 
debug1: Local version string SSH-2.0-OpenSSH_6.6.1 
debug1: Remote protocol version 2.0, remote software version libssh-0.6.0 
debug1: no match: libssh-0.6.0 
debug1: SSH2_MSG_KEXINIT sent 
debug1: SSH2_MSG_KEXINIT received 
debug1: kex: server->client aes128-ctr hmac-sha1 none 
debug1: kex: client->server aes128-ctr hmac-sha1 none 
debug1: sending SSH2_MSG_KEX_ECDH_INIT 
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY 
debug1: Server host key: RSA 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48 
The authenticity of host 'github.com (192.30.252.129)' can't be established. 
RSA key fingerprint is xx:xx:xx. 
Are you sure you want to continue connecting (yes/no)? yes 
Failed to add the host to the list of known hosts (C/.ssh/known_hosts). 
debug1: ssh_rsa_verify: signature correct 
debug1: SSH2_MSG_NEWKEYS sent 
debug1: expecting SSH2_MSG_NEWKEYS 
debug1: SSH2_MSG_NEWKEYS received 
debug1: Roaming not allowed by server 
debug1: SSH2_MSG_SERVICE_REQUEST sent 
debug1: SSH2_MSG_SERVICE_ACCEPT received 
debug1: Authentications that can continue: publickey 
debug1: Next authentication method: publickey 
debug1: Trying private key: C/.ssh/id_rsa 
debug1: Trying private key: C/.ssh/id_dsa 
debug1: Trying private key: C/.ssh/id_ecdsa 
debug1: Trying private key: C/.ssh/id_ed25519 
debug1: No more authentication methods to try. 
Permission denied (publickey). 

Por alguna razón, ssh intentaba acceder C/.ssh.

Cuando fijo la variable usando setx HOME /c/users/craibuc y se reinicia la concha, yo era capaz de conectarse:

$ ssh -T [email protected] 
Warning: Permanently added the RSA host key for IP address '192.30.252.130' to the list of known hosts. 
Hi craibuc! You've successfully authenticated, but GitHub does not provide shell access. 
0

que tenían el mismo tipo de problema cuando se utiliza una máquina con la política de dominio de configuración de perfiles de usuario a una red unidad (en este caso mapeada al Z:).

Al intentar hacer cualquier cosa con Powershell recibiría mensajes como este. La configuración de home variable PATH no ayudó.

git clone ssh://[email protected]:1234/myproject 
Cloning into 'myproject'... 
Could not create directory '/z/.ssh'. 
The authenticity of host '[mydomain.com]:1234 ([1.1.1.1]:1234)' can't be established. 
RSA key fingerprint is 00:11:22:33:$4:55:66:77:88. 
Are you sure you want to continue connecting (yes/no)? yes 
Failed to add the host to the list of known hosts (/z/.ssh/known_hosts). 
Permission denied (publickey). 

Please make sure you have the correct access rights 
and the repository exists. 

Cuando clonado a partir de fiesta git que estaba bien, como /z/.ssh etc es una forma válida para apuntar a Z:\.ssh de una concha.

+0

¿Y sabe por casualidad qué hizo para resolver el problema? – Igor

+0

... 'clonado de git bash' – nathanchere

6

Recommended método de MSYS2 es establecer db_home en /etc/nsswitch.conf en su directorio personal.

Crédito para @VarunAgw para pointing en la dirección correcta.

Git-para-Windows incluye env en db_home, que debe leer la variable de HOME fiesta, sin embargo, es unreliable.

+0

Encontré que algún software como Orcad establecerá'% HOME% = C: \ Users \ [accountname] \ AppData \ Roaming \ SPB_16.6' o 'C: \ SPB_data' Pero por alguna razón no quiero cambiarlo. Entonces este método de modificar '/ etc/nsswitch.conf' realmente ayuda. configuración como la siguiente línea en '/ etc/nsswitch.conf' hizo que ssh-keygen establezca la ubicación predeterminada en'% PERFIL DE USUARIO% ' ' db_home: /% H' – Seagal82

0

Compruebe which ssh para ver si está utilizando /usr/bin/ssh u otra cosa, que podría haber instalado por accidente.

En mi caso, mi ssh fue reemplazado por Chocolatey después de instalar rsync. Después de ejecutar choco uninstall rsync, mi SSH estaba funcionando nuevamente.

Cuestiones relacionadas