git tortoisegit

Cómo configurar tortoisegit para que no requiera contraseña usando ssh



(7)

¿Sabe su cuenta en el servidor OpenSSH que debe estar autorizado con su clave pública?

Cargue su llave con PuTTyGen. Verá un área de texto de solo lectura en "Clave pública para pegar en el archivo OpenSSH authorized_keys". Copia lo que hay allí.

SSH con PuTTy en el servidor SSH. Abra el archivo ~/.ssh/authorized_keys con un editor y pegue el texto copiado en una nueva línea y guárdelo. El directorio ~/.ssh puede que aún no exista. En ese caso, haga mkdir ~/.ssh antes de editar ese archivo.

Estoy teniendo problemas para que git / tortoisegit use mi clave ssh suministrada (creada con PuttyGen). En el indicador de comando recibo un error de permission denied , y en la interfaz de usuario de TortoiseGit me piden una contraseña. Intenté esta pregunta SO , pero como dije, creé con PuttyGen, tengo Pageant ejecutándose con mis claves cargadas y estoy configurado para usar TortoisePlink.

Luego encontré esta pregunta SO e intenté usar ssh en el directorio git, TortoisePlink en mi TortoiseHG (usado para Bitbucket / Mercurial), y como he dicho, ya había probado el TortoisePlink local en TortoiseGit.

Ah, y configuré mi ppk en mi cuenta de Git, así como, en la sección Git-> Remote de TortoiseGit

Entonces, ¿qué me estoy perdiendo?


Algunos servidores Git son un tanto contradictorios (IMHO) cuando se trata de autenticación. Por ejemplo, los documentos de Github dicen:

Todas las conexiones deben hacerse como el usuario "git".

Entonces, en lugar de intentar conectarse a ssh://<yourname>@github.com... , debe conectarse a ssh://[email protected]...

Ya no me piden una contraseña y TortoiseGit ahora muestra Success después de completar una operación Push .


Comprueba cuál es tu url de origen.

Haga clic derecho en la carpeta del proyecto TortoiseGit -> Settings -> Elija Git -> Remote y seleccione la entrada de origen.

Verifique que la URL comience con ssh:// y que su clave privada esté cargada.

Si la URL comienza con https:// , le pedirá su contraseña cada vez.

Espero que esto ayude.


Estoy usando git 2.7 y tortoisegit 1.8.16 Esto es lo que hice para evitar requerir una contraseña y funcionó para mi caso

Haga clic con el botón derecho en la carpeta del proyecto TortoiseGit -> Configuración Elija Git -> Remoto y seleccione la entrada de origen Cambiar URL de https: // github ... a ssh: // git @ github ...


También estaba enfrentando el mismo problema en v1.8.4, luego cambié mi cliente ssh a plink y ahora está funcionando bien. Configuración de TortoiseGit -> Red -> Cliente SSH

Plink se distribuye junto con Peagent y otras golosinas en un paquete de masilla estándar.

Aparentemente hay un error en ciertas versiones de TortoiseGit (TortoisePlink en particular) ver esta respuesta


Tampoco pude hacer este trabajo con github / tortoisegit. Usar git desde la línea de comandos en Linux funcionó bien. Entonces recurrí a usar mi nombre de usuario / contraseña como se describe aquí:

http://www.programmoria.com/2012/02/saving-tortoisegit-password.html

y en otros lugares. No es una solución real (lo siento) sino una solución alternativa que logra lo mismo: la autenticación automática sin tener que ingresar su nombre de usuario / contraseña. El archivo _netrc es tan seguro / inseguro como la clave privada que también se almacenaría en algún lugar de su computadora, por lo que considero que es una solución aceptable. Los comentarios sobre esto son bienvenidos por supuesto.


Usando Tortoise 2.2.0.0, necesitas hacer un par de cosas. En la pestaña del control remoto, puede eliminar el origen de los http (s) que ya tiene o necesita agregar un segundo, usando ssh: // y marcando la casilla de verificación "Push Default" para el ssh one, de modo que Tortoise lo use para los pushs por defecto (y el origen https en mi caso para pull).

Solo el ssh one necesita la clave especificada y luego, cuando presiona, debe establecer como predeterminado su nuevo origen ssh como destino y no solicitar su nombre de usuario y contraseña.

Obviamente, necesita saber qué usuario debe tener en su URL. Por ejemplo, en Visual Studio Team Services, es el nombre de la cuenta de VSTS (¡no del titular de la cuenta!). Es posible que también necesite el número de puerto.

Eso es todo lo que hice para configurar desde cero y funcionó bien.