permission - ssh key ubuntu github
Usando git con ssh-agent en Windows (3)
Estoy en Windows. Instalé git y posh-git (algunos ayudantes para Windows PowerShell). Puedo agregar claves con ssh-add
y puedo autenticarme con github y mi servidor web. También puedo usar git desde PowerShell para interactuar con mis repositorios.
Pero hay una cosa que no puedo hacer: uso git-plus para el editor Atom. Y no lo consigo para empujar a mi repo. Cual es mi problema
El problema es que el git no pudo encontrar el ssh_agent.exe que proporcionó las credenciales. Los pasos que seguí se indican a continuación.
- Buscó la unidad de archivo ssh_agent.exe
- Se agregó la ruta como ruta del entorno en el archivo profile.example.ps1
$env:path += ";" + "C:/Program Files/Git/usr/bin"
Puede ejecutar el ssh-agent usando el comando que viene con Git para Windows en powershell:
start-ssh-agent.cmd
Eso iniciará el ssh-agent.
A continuación, puede agregar su clave con
ssh-add ~/.ssh/namneOfPrivateKey
Lo encontré aquí: https://docs.microsoft.com/en-us/azure/devops/repos/git/use-ssh-keys-to-authenticate?view=azure-devops
posh-git y git para Windows 2.7 deben incluir todo lo que necesita para configurar un ssh-agent . Una vez que tenga el módulo instalado, puede iniciar el agente usando algo como:
Import-Module ~/Documents/WindowsPowerShell/Modules/posh-git/posh-git
Set-Alias ssh-agent "$env:ProgramFiles/git/usr/bin/ssh-agent.exe"
Set-Alias ssh-add "$env:ProgramFiles/git/usr/bin/ssh-add.exe"
Start-SshAgent -Quiet
Entonces deberías ver que la variable de entorno SSH_AUTH_SOCK está configurada:
C:/Code/Go/src/bosun.org/cmd/scollector [master]> gci env:SSH_AUTH_SOCK
Name Value
---- -----
SSH_AUTH_SOCK /tmp/ssh-6ORcVQvRBZ2e/agent.11668
Que el paquete git-plus atom debería poder usar cuando ejecutas comandos. Pude usar Ctrl + Shift + H para abrir el menú git en atom, seleccionar push y luego presionar a un repositorio remoto (no muestra errores si falla, pero la nueva rama que empujé estaba allí) .
El ssh-agent debe iniciarse ANTES de abrir el átomo para que se establezca la variable de entorno SSH_AUTH_SOCK. Si aún no funciona, es posible que desee probar ssh en PowerShell para verificar que puede conectarse sin una contraseña:
Set-Alias ssh "$env:ProgramFiles/git/usr/bin/ssh.exe"
ssh hostname