known_hosts keygen how generate create windows git ssh putty

windows - keygen - Git Bash & Pageant no usa llaves



how use git on windows (5)

Tengo Git para Windows (configurado para MinTTY y PuTTY/plink.exe ) y PuTTY instalados, y estoy tratando de que funcione con un repositorio de BitBucket. Tengo cargada mi clave SSH, en Pageant y en el sitio web, y sin embargo, cada vez que intento hacer algo que requiera tirar / empujar:

Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.

Cuando ejecuto la sugerencia ssh -v [email protected] usa id_rsa pero ninguna de mis otras claves en ~/.ssh . Tratar de usar ssh-add ~/.ssh/bitbucket_rsa da ssh-add ~/.ssh/bitbucket_rsa resultado:

Could not open a connection to your authentication agent.

He leído sobre la configuración de PuTTY para permitir el reenvío, pero ahí es donde termina el consejo, por lo que simplemente configuré esta opción para la sesión predeterminada y la guardé allí.

He ejecutado ps para comprobar qué aplicaciones se estaban ejecutando, y ssh-agent no estaba entre ellas. Ejecutar eval ''ssh-agent'' inicia el demonio pero no hace ninguna diferencia.


Estás mezclando las cosas.

PuTTY y Pageant no son compatibles con las herramientas openSSH y no pueden comunicarse juntos. PuTTY no puede leer las claves de su agente de openssh y openssh no puede leer las claves de Pageant. El formato clave también es diferente. Eso es malo en este mundo, pero no hay solución en el horizonte.

También el "reenvío de agente" es algo diferente a "usar agente".

Si configuró Git con plink (asegúrese de hacerlo realmente), verifique si su Pageant se está ejecutando y si está en su perfil almacenado en PuTTY bajo Connection-> SSH-> Auth, la opción "Intentar autenticación usando Pageant" está marcada.

Si no resuelve sus problemas, publique un registro de depuración desde la masilla.


Esto es lo que terminó trabajando para mí.

Por cierto, tengo bash en Windows también, pero no creo que eso importe.

Instalé SourceTree y señalé su carpeta con plink.exe , puttygen.exe y pageant.exe . También puede descargar e instalar estos por separado también.

Configurar la variable de entorno de Windows

  1. Escriba Environment en su barra de búsqueda de Windows 10. De lo contrario, abra Propiedades del sistema / Configuración avanzada del sistema y encuentre sus Variables de entorno.
  2. Añadir una nueva variable del sistema
    • Nombre de la variable : GIT_SSH
    • Valor de variable : ruta completa al archivo plink.exe (también puede tener pageant.exe y puttygen.exe en la misma carpeta).
      • El mío fue: C:/Program Files (x86)/Atlassian/SourceTree/tools/putty/plink.exe
      • Nota : el nuevo SourceTree (v2 en Windows) usa directorios versionados, por lo que cada vez que lo actualice, tendrá que actualizarlo, lo cual es una molestia. Es mejor hacer una copia de plink.exe y colocarla en algún lugar que no vaya a cambiar.
      • Si tiene alguno de los programas anteriores en ejecución, siempre puede abrir el administrador de tareas, encontrar el proceso y abrir la ubicación de la carpeta para obtener la ruta a plink.exe .

Lucro

Asegúrese de reiniciar sus terminales para que obtengan las variables de entorno actualizadas. Para mí, estaba ejecutando bash para mi terminal integrado dentro de VSCode, así que tuve que reiniciar VSCode. Seguramente hubiera sido aceptable cerrar el terminal integrado y abrir uno nuevo, pero también quería que la funcionalidad git incorporada en VSCode también funcionara.

Nota

Dado que tengo SourceTree instalado, pude usar su interfaz para clonar BitBucket y empujar a través de su interfaz, pero probar a través de terminales no estaba funcionando porque estaban usando un conjunto de credenciales diferente.

Otra cosa interesante a destacar es que si navega en la configuración de git de su proyecto ubicada en: ./.git/config , podría cambiar su control remoto de usar ssh a https. Puede capturar los siguientes valores de su Resumen en su repositorio de BitBucket.

Noté que mientras utilizaba https en Windows 10, luego usaría el Administrador de credenciales de Windows (intenté agregarle mis credenciales al mismo tiempo que intentaba resolverlo por mí mismo, pero seguía usando SSH, así que no importaba). Cuando vas a interactuar con el repositorio remoto le pedirá sus credenciales y las almacenará para su uso posterior en el Administrador de credenciales de Windows :)

Esperemos que uno de estos métodos funcione para usted. El método HTTPS omitirá toda la generación de claves SSH y lo incorporará a BitBucket, pero se sentirá más seguro y portátil para mí.

Mac OS

Es posible que deba agregar su clave al llavero, especialmente si está usando VSCode y tiene una frase de contraseña en su clave (actualmente, VSCode no le permitirá escribir una frase de contraseña).

ssh-add -K ~/.ssh/id_rsa

https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/#adding-your-ssh-key-to-the-ssh-agent


No necesita masilla para trabajar con BitBucket en ssh: el openssh ( C:/prgs/git/PortableGit-2.7.0-64-bit/usr/bin/ssh.exe ) empaquetado en git-for-windows funciona solo multa.

Asegúrese de que, en su sesión de shell actual, tiene HOME configurado en %USERPROFILE% (un PortableGit-2.7.0-64-bit/git-cmd.exe es suficiente para abrir un CMD normal correctamente configurado)

Cree en %USERPROFILE%/.ssh un archivo llamado config (como en el paso 3 del documento de Atlassian ):

Host bitbucket.org IdentityFile ~/.ssh/bitbucket_rsa

(También puede usar " /C/path/to/bitbucket_rsa ")

Eso permite usar una URL ssh como bitbucket.org:user/repo .
ssh -Tv bitbucket.org con ssh -Tv bitbucket.org (después de agregar su clave pública a su cuenta de BitBucket, por supuesto)

Nota: ssh-agent solo es necesario si su clave privada está protegida con frase de contraseña.

Actualización 2018, 2 años después: " Diga adiós a Putty ya que Microsoft agrega un cliente OpenSSH a Windows 10 ".
Es realmente el momento de dejar de lado la masilla: no es necesario un formato de clave (ppk) diferente y una solución propietaria , ahora que openssh se distribuye oficialmente como una característica de Windows (en versión beta por ahora, Q1 2018).


Para acceder a las claves ssh cargadas en Pegeant desde git bash, que viene con Git-on-Windows, puede usar este programa . El proceso de instalación se describe en la página enlazada.


lo que me funcionó con git bash para windows 7: convertir el archivo .pkk al formato abierto-ssh:

https://www.simplified.guide/putty/convert-ppk-to-ssh-key

agregue la clave generada a IdentityFile .ssh / config en git bash, por ejemplo:

Host repo # my converted open-ssh key IdentityFile /c/Users/me/open-ssh.pri # this repo-server uses specific name, not usually needed User git # this repo-server uses specific port, not usually needed Port 8322 # repo server full name Hostname repo.server.com