He buscado muchas horas buscando una solución a mi problema aparentemente fácil de solucionar. No es que mi búsqueda no haya resultado nada, es que mi búsqueda encontró tantas soluciones diferentes, ninguna de las cuales ha funcionado.
De todos modos, simplemente no puedo empujar, tirar o buscar desde mi repositorio Heroku desde mi Mac. Cada intento me da (como si se estuviera burlando de mí) el siguiente error:
'Permiso denegado (clave pública). fatal: no se pudo leer desde el repositorio remoto.
Intenté (y volví a intentar) solucionarlo de muchas maneras diferentes. Como dije, pasé una buena parte de los últimos dos días buscando una respuesta. Estas son algunas de las cosas que he probado:
- teclas heroku: borrar seguidas de teclas heroku: agregar
- Regenerar una clave ssh por mi cuenta con 'ssh-keygen -t rsa'
- Borrar mi directorio .ssh, seguido de las teclas heroku: borrar, seguido de generar una clave ssh
- Eliminar mi aplicación en heroku y recrear una (afortunadamente no había mucho allí)
Puedo buscar desde mi repositorio GitHub bien, así que sé que no es conectividad de red (pinging heroku también funciona).
Como solución improvisada (que espero no se convierta en permanente), he iniciado sesión en mi instancia de Ubuntu Amazon AWS ec2. Tirar y empujar hacia y desde Heroku funciona perfectamente. Por esta razón, todavía siento que el problema radica en la tecla ssh de mi Mac. Ambas teclas aparecen debajo de mi cuenta de Heroku. ¿Importa la dirección de correo electrónico al final de la clave?
EDITAR: puedo empujar y tirar de GitHub bien (sin embargo, no estoy usando ssh), entonces ¿por qué no Heroku?
En este punto estoy dispuesto a intentar cualquier cosa. ¡Gracias!
fuente
Respuestas:
Sé que esto ya ha sido respondido. Pero me gustaría agregar mi solución, ya que puede ser útil para otros en el futuro.
Un error de clave común es:
Permission denied (publickey)
. Puede solucionar esto utilizandokeys:add
para notificar a Heroku sobre su nueva clave.En resumen, siga estos pasos: https://devcenter.heroku.com/articles/keys
Primero debe crear una clave si no tiene una:
En segundo lugar, debe agregar la clave a Heroku:
fuente
heroku keys:add
te ayudará a crear uno si no tienes una clave.ssh-keygen -t rsa
siRSA
no se genera lo contrarioheroku keys:add
debería ser suficienteSolo pensé en compartir que encontré la respuesta a mi propia pregunta.
Escribir mi problema me lo dejó aún más claro, e investigué más a fondo dónde creía que estaba mi problema: la clave ssh
Resulta que tenía razón. El problema no era con la clave en sí, sino que no la había agregado a la lista de claves ssh conocidas de mi Mac local. Entonces, aunque mi cuenta de Heroku tenía la clave correcta cargada, mi Mac no pudo autenticarse porque no pudo encontrar esa clave en mi computadora. ¿La solución?
Me gustaría dar crédito a https://help.github.com/articles/error-permission-denied-publickey por ser una buena referencia.
fuente
Git Bash
(haga clic con el botón derecho en una carpeta), e inicie unossh-agent
que sea posible ejecutando`ssh-agent`
( tenga en cuenta las teclas de retroceso) y luego agregue la clave como se describe anteriormente. Tengo que hacer esto cada vez que inicioGit Bash
/ssh-agent
, se olvida lo que se agregó.Tuve exactamente el mismo error (en Windows 7) y la causa fue diferente. Lo resolví de una manera diferente, así que pensé en agregar la causa y la solución aquí para otros.
Aunque el error parecía apuntar a heroku, realmente estaba diciendo el error
"Heroku can't get to the git repository"
. Juré que tenía las mismas claves en todos los servidores porque lo creé y lo cargué uno tras otro al mismo tiempo.Después de pasar casi un día en esto, me di cuenta de que porque git solo me mostraba la huella digital y no la clave real. No pude verificar que su clave coincida con la de mi HD o heroku. Miré en el archivo de hosts conocidos y adivina qué ... muestra las claves para cada servidor y pude ver claramente que las claves públicas git y heroku no coincidían.
1) Eliminé todos los archivos en mi carpeta de claves, la clave de github usando su sitio web y la clave de heroku usando git bash y el comando
heroku keys:clear
2) Seguí las instrucciones de github aquí para generar un nuevo par de claves y subir la clave pública a git
3) usando
git bash-
heroku keys:add
para cargar la misma clave a heroku.Ahora
git push heroku master
funcionaQué pesadilla, espero que esto haya ayudado a alguien.
Bryan
fuente
El problema que tenía es que solo estaba usando https para mi cuenta de GitHub. Necesitaba asegurarme de que mi cuenta de GitHub estaba configurada para acceso ssh y que GitHub y heroku usaban las mismas claves públicas. Estos son los pasos que tomé:
Navegue al directorio ~ / .ssh y elimine id_rsa e id_rsa.pub si están allí. Empecé con nuevas claves, aunque podría no ser necesario.
Inicie sesión en heroku, cree un nuevo sitio y agregue sus claves públicas:
fuente
Tuve el mismo caso en Linux Ubuntu y solo lo arreglé, parece que el sistema operativo estaba confundido entre /root/.ssh/ y home / user / .ssh / dir, lo que hice fue:
heroku keys
heroku keys:clear
heroku keys:add
ahora aquí, si heroku no pudo encontrar una clave y le pidió que generara una, no, y esto significa que tiene el mismo problema que el mío, haga el comando de agregar de esta manera,heroku keys:add /root/.ssh/id_rsa.pub
la ruta que agregará será la que obtuvo en el paso 2.git push heroku master
ahorafuente
Mi camino en Windows 8
Agregue un directorio con ssh-keygen a la variable PATH del sistema, generalmente C: \ Archivos de programa (x86) \ Git \ bin
Abra CMD, vaya a C: \ Users \ Me \
Generar clave SSH
ssh-keygen -t rsa
Introduzca el archivo en el que guardará la clave (//.ssh/id_rsa): .ssh / id_rsa (cambie una ruta incorrecta predeterminada a .ssh / somegoodname_rsa)
Agrega la llave a Heroku
heroku keys:add
Seleccione una clave creada de una lista
Ve al directorio de tu aplicación, escribe un código hermoso
Inicia un repositorio git
git init
git add .
git commit -m 'chore(release): v0.0.1
Crear aplicación Heroku
heroku create
Implemente su aplicación
git push heroku master
Abre tu aplicación
heroku open
fuente
Tuve un problema similar y probé muchas cosas. En última instancia, lo que funcionó para mí fue tener instalado Gnu en Windows ( https://github.com/bmatzelle/gow/releases ) y asegurarme de que estaba usando la herramienta ssh dentro de ese directorio y no la que tenía Git. Una vez instalado, pruebe con (asegúrese de que esté en su entorno RUTA que precede a Git \ bin)
Usé masilla y concurso como se describe aquí: http://rubyonrailswin.wordpress.com/2010/03/08/getting-git-to-work-on-heroku-on-windows-using-putty-plink-pageant/
Una vez que las claves se hayan enviado a heroku (claves heroku: agregue c: \ Users \ Person.ssh \ id_rsa.pub), use
y asegúrese de que su pila muestre el uso de Masilla, es decir, una pila que funcione:
Uno que se estaba ejecutando anteriormente y falló:
fuente
necesita crear una nueva clave ssh escribiendo lo siguiente: ssh-keygen -t rsa
Luego debe agregar: - teclas heroku: agregar
Entonces, si escribe - heroku abierto
El problema ha sido resuelto.
Me funcionó de todos modos, podrías intentarlo ...
fuente
Obtuve el mismo error y debido a que tengo 4 teclas ssh, intenté seguir:
entonces, cuatro opciones muestran:
Elijo 3), el más nuevo
Entonces, corrijo el error.
fuente
Utilizo este método para resolver este problema. Quizás puedas probarlo.
"Habilitar ssh-agent"
http://git-scm.com/
Instalarlo
Habilitar ssh-agent
C: \ Archivos de programa \ Git \ cmd
start-ssh-agent
El mensaje desapareció después de que habilité el agente Espero que esto te ayude
fuente
Me gustaría agregar otra solución ya que no la vi aquí. Mi problema era que heroku se vinculaba a la URL incorrecta (ya que seguía jugando con los nombres de las URL). Editar la url remota resolvió mi problema:
fuente
Tuve el mismo problema. Y traté de restablecer mis llaves como todos decían, pero aún así no funcionó. Porque fue porque cambié el nombre de la aplicación.
Entonces, lo que hice fue restablecer mis claves y también cambiar el nombre de la aplicación desde la consola. Consulte esta pregunta para obtener más información: problema de la aplicación push de Heroku
fuente
SO So So simple solución, vaya a c: /Users/user_name/.ssh/ y elimine todos los pares de claves pub / private, de esta manera heroku generará claves para usted.
fuente
Tuve un error heroku ssh similar que no pude resolver.
Como solución alternativa, utilicé la nueva característica heroku http-git (transporte http para el control remoto "heroku" en lugar de ssh). Detalles aquí: https://devcenter.heroku.com/articles/http-git
(Versión corta: si ya tiene un proyecto configurado de manera estándar, ejecute heroku git: remote --http-init para cambiar el control remoto "heroku" a http).
Una buena solución rápida si no tiene tiempo para arreglar / solucionar un problema de ssh.
fuente