Después de seguir la guía de Tim Davis y el seguimiento de Steve, esto es lo que hice:
PC servidor
- Instale CopSSH, msysgit.
- Al crear el usuario CopSSH, desmarque Autenticación de contraseña y marque Autenticación de clave pública para que sus claves públicas / privadas funcionen.
- Cree claves públicas / privadas con PuTTygen. ponga ambas claves en el directorio CopSSH / home / user / .ssh del usuario.
Agregue lo siguiente al archivo CopSSH / home / user / .bashrc del usuario:
GITPATH='/cygdrive/c/Program Files (x86)/Git/bin'
GITCOREPATH='/cygdrive/c/Program Files (x86)/Git/libexec/git-core'
PATH=${GITPATH}:${GITCOREPATH}:${PATH}
Abra Git Bash y cree un repositorio en cualquier lugar de su PC:
$ git --bare init repo.git
Initialized empty Git repository in C:/repopath/repo.git/
PC cliente
- Instala msysgit.
- Use la clave privada que creó en el servidor para clonar su repositorio desde ssh: // user @ server: port / repopath / repo.git (por alguna razón, la raíz es la unidad C :)
Esto me permitió clonar y confirmar con éxito, pero no pude acceder al repositorio en el servidor. Seguí recibiendo:
git: '/repopath/repo.git' is not a git command. See 'git --help'.
fatal: The remote end hung up unexpectedly
Esto me llevó al rastreo y la solución de Rui, que era crear o agregar las siguientes líneas a .gitconfig en la ruta % USERPROFILE% de su PC cliente (C: \ Users \ UserName).
[remote "origin"]
receivepack = git receive-pack
No estoy seguro de por qué esto es necesario ... si alguien pudiera proporcionar información, sería útil.
mi versión de git es 1.7.3.1.msysgit.0