En una instalación de Windows 7 Enterprise que de otro modo sería impecable:
- Instalar PuTTY 0.62
- Cree un par de claves pública / privada con puttygen.exe
- Agregue la clave pública para pegar en OpenSSH Authorizedkeys a la cuenta de Github
- Agregar clave privada al concurso
- Instala msysgit 1.7.8 con las siguientes opciones:
- Use Git desde el símbolo del sistema de Windows
- Utilice (Tortoise) Plink apuntado para corregir plink.exe
- Asegúrese de que la huella digital de github se agregue a know_hosts conectándose a github.com en PuTTY y aceptando la huella digital
Editar
~/.ssh/config
para leer:Host github.com User git Hostname github.com PreferredAuthentications publickey IdentityFile ~\.ssh\github.ppk
ssh -vvvT [email protected]
da: http://pastebin.com/Tu3Fc6nJ . Tenga en cuenta que se me solicita la frase de contraseña a pesar de que se cargó correctamente en el concurso.
Lo intenté: chmod 700 ~/.ssh; chmod 600 ~/.ssh/*
desde Git Bash pero no hubo ningún efecto según lo verificado por ls -l
.
Debo señalar que tenía esta configuración exacta trabajando en una instalación anterior de Windows 7. Todo es idéntico por lo que puedo decir.
Lo que sí funciona es generar claves desde Git Bash. Sin embargo, no puedo agregar esas claves en el concurso, lo cual es un gran dolor. En efecto, parece que cualquier intento de usar claves generadas por PuTTY no tiene éxito.
¿Alguna idea de lo que impide que esto funcione según los registros? Gracias por adelantado.
Respuestas:
Estás confundiendo dos programas completamente separados: PuTTY y OpenSSH.
plink
y Pageant son parte de PuTTY. Elssh
comando es parte de OpenSSH. No está claro qué programa está utilizando Git; necesita verificar la%GIT_SSH%
variable de entorno para eso.Los programas usan diferentes protocolos de agente; OpenSSH no puede usar el concurso de PuTTY; tiene el suyo
ssh-agent
(que desafortunadamente es algo complicado de usar en Windows).PuTTY y
plink
almacene la configuración de la sesión en el registro, editable en la interfaz de PuTTY. No usan nada en~/.ssh/
; OpenSSH solo utiliza este directorio.Los formatos de clave privada utilizados por OpenSSH y PuTTY son diferentes; no puede usar una
.ppk
clave con OpenSSH. Si generó la clave en PuTTYgen, debe usar su comando "Exportar → OpenSSH".fuente
plink
no admite el formato de clave OpenSSH. Si su versión lo hace, entonces noplink
está usando; Es otra cosa.ssh
solicita una contraseña a pesar de estar cargada en el desfile". Usted está confundiendo los dos programas.~/.ssh/config
PuTTY no lo usa. Sin embargo, me gustaría reiterar que GIT_SSH apunta a plink y, sin embargo, si modifico el archivo de configuración ssh para OpenSSH, los cambios se reflejan en Git Bash al intentar conectarse a github. Esencialmente, creo que la variable de entorno GIT_SSH está siendo ignorada y supongo que es algo específico de mi sistema operativo. Probaré una nueva imagen mañana.He reunido una guía paso a paso para obtener la configuración de Git para Windows usando la aplicación Plink de PuTTY para la autenticación SSH.
Sigue a continuación:
Preparar
Instale putty.zip que está disponible en la página de descarga de PuTTY o puede descargarlo individualmente.
PuTTY: putty.exe (o por FTP )
El cliente SSH y Telnet mismo.
Plink: plink.exe (o por FTP )
Una interfaz de línea de comandos para el back-end PuTTY.
Concurso: pageant.exe (o por FTP )
Un agente de autenticación SSH para PuTTY, PSCP, PSFTP y Plink.
PuTTYgen: puttygen.exe (o por FTP )
Una utilidad de generación de claves RSA y DSA.
Generar claves RSA y PPK
ssh-keygen
para generar un par de claves públicas / privadas RSA. Puede encontrar más información sobre cómo hacer esto en el artículo oficial Generando claves SSH .~/.ssh/id_rsa
clave (privada) existente , a través de Conversions→ Import key.~/.ssh/id_rsa.ppk
.Ahora debería tener las siguientes claves en su
~/.ssh
directorio:id_rsa
: Clave RSA privada (OpenSSH)id_rsa.pub
: Clave RSA pública (OpenSSH)id_rsa.ppk
: Clave privada (PuTTY)Instala Git para Windows .
Asegúrese de elegir usar Plink.
Nota: Si ya instaló Git, puede volver a ejecutar el instalador y configurar Plink para que sea su aplicación SSH predeterminada.
Establece tus rutas de entorno.
Agregue las siguientes variables del sistema (si aún no está configurado):
GIT_HOME
:C:\Program Files\Git
GIT_SSH
:C:\Program Files (x86)\PuTTY\plink.exe
Agregue el directorio binario de Git a la ruta del sistema.
Path
:%Path%;%GIT_HOME%\bin
Abra el concurso y cargue la clave ppk ubicada en
~/.ssh/id_rsa.ppk
.Nota: Una vez que el concurso ha comenzado, puede hacer clic en su icono en la bandeja del sistema ubicada en la barra de tareas, al lado de la hora, a la derecha.
Abra Putty y conéctese para probar su conexión a través de SSH y agregue la clave del servidor como un host conocido.
Ejemplos de nombres de host:
[email protected]:22
(o a través de ssh-agentssh -Tv [email protected]
)[email protected]:22
(o a través de ssh-agentssh -Tv [email protected]
)Inicia Git Bash.
Debería poder empujar y extraer desde su host remoto sin ingresar una contraseña cada vez.
Atajo
Puede colocar un acceso directo en su directorio de inicio para cargar automáticamente su clave cada vez que inicie sesión en su cuenta de Windows.
Via Batch Script
Esta idea fue inspirada por una respuesta a esta pregunta:
Vía el Explorador de Windows
Navegue al directorio de inicio en el Explorador de Windows.
El
Startup/
directorio de usuarios (preferido) se encuentra en:El
Startup/
directorio de todos los usuarios se encuentra en:Haga clic derecho dentro de la carpeta y seleccione New→Shortcut
En el cuadro de diálogo Crear acceso directo , ingrese la siguiente información.
"C:\Program Files (x86)\PuTTY\pageant.exe"
Pageant Autoload
Haga clic con el botón derecho en el nuevo acceso directo y elija Propertiesdel menú contextual.
Modifique los siguientes campos en la pestaña Acceso directo :
"%PROGRAMFILES(x86)%\PuTTY\pageant.exe" id_rsa.ppk
%USERPROFILE%\.ssh
Notas:
Si está utilizando un sistema operativo Windows de 32 bits, debe usar la
%PROGRAMFILES%
variable de entorno en lugar de%PROGRAMFILES(x86)%
.Si colocó su acceso directo en el directorio de inicio Todos los usuarios, asegúrese de que el usuario actual tenga una
id_rsa.ppk
clave en su~/.ssh
directorio o la clave no se cargará automáticamente.Palabras de clausura
Ahí tienes. La próxima vez que inicie sesión en su perfil de Windows, se le solicitará que ingrese la contraseña de su clave. Si no configuró una contraseña en su clave, entonces su clave debería cargarse automáticamente sin un aviso.
Si no está seguro de si su clave cargada, vea las claves actuales en el concurso seleccionando Ver claves en el menú contextual del concurso en la bandeja del sistema.
fuente
En inglés simple
Puttygen puede construir diferentes claves, Github quiere SSH1-RSA (?, Uso claves ssh2 con Pageant en github)
Agrega
Consulte también esta publicación sobre la depuración de problemas de concurso con Github
fuente