Estoy intentando implementar mi código en heroku con la siguiente línea de comando:
git push heroku master
pero recibe el siguiente error:
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Ya he subido mi clave SSH pública, pero aún aparece este error.
git
heroku
deployment
public-key
vich
fuente
fuente
heroku login
escribir un correo electrónico y una contraseña e intentar nuevamente.Respuestas:
Tienes que subir tu clave pública a Heroku:
Si no tiene una clave pública, Heroku le pedirá que agregue una automáticamente, que funciona a la perfección. Solo usa:
Para borrar todas sus claves anteriores, haga lo siguiente:
Para mostrar todas sus claves existentes, haga lo siguiente:
EDITAR:
Lo anterior no parecía funcionar para mí. Me había
HOME
equivocado con la variable de entorno y SSH estaba buscando claves en el directorio incorrecto.Para asegurarse de que SSH verifique la clave en el directorio correcto, haga lo siguiente:
Que mostrará las siguientes líneas (Muestra)
Permission denied (publickey).
De lo anterior, puede observar que ssh busca las claves en el
/c/Wrong/Directory/.ssh
directorio que no es donde tenemos las claves públicas que acabamos de agregar a heroku (usandoheroku keys:add ~/.ssh/id_rsa.pub
) ( Tenga en cuenta que en Windows OS se~
refiere a laHOME
ruta que en winC:\Users\UserName
7/8 es )Para ver su directorio de inicio actual, haga lo siguiente:
echo $HOME
oecho %HOME%
(Windows)Para configurar su
HOME
directorio correctamente (por correcto me refiero al directorio principal del.ssh
directorio, para que ssh pueda buscar claves en el directorio correcto) consulte estos enlaces:SO Respuesta sobre cómo configurar la variable de entorno Unix de forma permanente
SO Pregunta sobre ssh buscando claves en el directorio incorrecto y una solución para el mismo.
fuente
heroku keys:add
ssh-keygen -t rsa -C "[email protected]"
si aún tiene el error, crear otro archivo.pub y usarlo en el comando recomendado en esta respuestaTuve el mismo problema, los siguientes pasos me funcionaron,
[email protected] y contraseña
->ssh-keygen -t rsa -f id_rsa
si pide alguna frase de contraseña, no use en blanco, complete con una frase de contraseña, pero no la olvide.
Después de generar la clave, debe agregarla, así
y a heroku
cambiar el directorio al espacio de trabajo, que
use la frase de contraseña que configuró arriba.
En realidad, también elimino los archivos a continuación, pero no estoy seguro de que sean imp,
C: \ Users \ yourusername.heroku \ credientals y C: \ Users \ yourusername.ssh \ known_hosts
fuente
Github for Windows
, pero no tenía un archivo id_rsa.git bash
símbolo del sistema para ejecutar ssh-keygen. Gracias.Este problema estuvo jugando conmigo durante unos días.
Esto puede ayudar.
1) Averigua qué llaves tienes en Heroku ahora.
2) Construya un archivo ~ / .ssh / config:
Editar con esta información
fuente
User
en esa última línea. Además, se quejó del#
comentario, así que lo eliminé.host
información a mi archivo de configuración me resolvió el problema. Creé una clave heroku rsa y los permisos predeterminados en heroku.pub arrojaron un error cuando lo intentégit push
. Tenía que hacerlochmod 600 heroku.pub
y luego, cuando lo presioné, funcionó.IdentityFile ~/.ssh/ssh-dss
es el camino a la clave privada . Desea ingresar su clave privada aquí, no su clave pública .Aquí está el enlace que explica cómo administrar sus claves ssh: https://devcenter.heroku.com/articles/keys#adding-keys-to-heroku
fuente
Tuve el mismo problema porque no tenía claves públicas, así que sí:
Eso generará una clave pública y luego funcionará bien
fuente
Si usted es un usuario de Windows, las otras soluciones aquí probablemente no resolverán su problema.
Utilizo Windows 7 64-Bit + Git-1.7.7.1-preview20111027 y la solución fue copiar mis claves de
C:\users\user\.ssh
aC:\Program Files (x86)\Git\.ssh
. Ahí es donde este cliente de git busca las claves cuando empuja a heroku.Espero que esto ayude.
fuente
%HOME%
variable de entorno en%USERPROFILE%
.Esta fue la solución para mí:
fuente
chmod 600 ~/.ssh/heroku_rsa
Para compartir mi experiencia:
Git (mi propia instalación) estaba buscando la clave llamada 'id_rsa'.
Así que intenté cambiar el nombre de mis claves a 'id_rsa' e 'id_rsa.pub' y funcionó.
Por cierto, estoy seguro de que hay otra forma de hacerlo, pero aún no busqué más a fondo.
fuente
Si ya ha subido la clave, intente eliminarla y luego vuelva a subirla con una nueva clave.
Esto debería funcionar.
fuente
Must specify KEY to remove
Me suicidé durante 3 días intentando todas las combinaciones posibles para que esto funcionara. Finalmente intenté hacer un DSA clave y funcionó.
Pruebe DSA en lugar de RSA si no funciona para usted.
(Estoy usando Ubuntu 11.10, ruby 1.8.7, heroku 2.15.1)
fuente
En Windows 7,64 bit, la solución anterior (la de Onur Turhan) funcionó para mí con ligeros cambios como a continuación
Ingrese correo electrónico / contraseña
Esto generó dos archivos (id_rsa e id_rsa.pub) en mi directorio c: \ Users \ MyName (No en el directorio .ssh)
Supongo que agregar el archivo "id_rsa.pub" correcto es lo más importante. Después de generar la clave pública usando keygen solo verifique que está agregando la clave correcta mirando la marca de tiempo cuando se creó.
fuente
Un solo comando funciona:
Hará uno si no existe.
fuente
heroku keys:add
no es una respuesta completa.Tuve este problema cuando se instaló TortoiseGIT en mi máquina. Después de cambiar la variable de entorno
GIT_SSH
dea
y siguiendo este tutorial con
ssh-keygen
ykeys:add
, ¡funciona!fuente
Empujar estaba funcionando para mí y luego se detuvo de repente.
Si la API de Heroku está experimentando un tiempo de inactividad, recibirá este error cuando intente presionar.
Cheque:
https://status.heroku.com/
antes de enloquecer demasiado.
fuente
Secuencia a seguir
Al ejecutar la segunda declaración, solicitaría información, solo presione Entrar (volver) tres veces y se agregará una clave.
fuente
La respuesta anterior sí funciona, pero descubrí que tenía que hacer algunos pasos adicionales antes de que funcionara.
fuente
Para todos aquellos que probaron todo lo mencionado anteriormente en Windows 7 y aún así no funcionó, esto es lo que he hecho: - abrir GitBash.exe desde el directorio Git C: \ Archivos de programa (x86) \ Git \ (don ' t abra un símbolo del sistema, esto no funcionará). - agregue lo siguiente como se mencionó anteriormente , pero debe eliminar el #
ahora ejecuta git push heroku master y debería funcionar.
fuente
Parece que su
~/.ssh/authorized_keys
archivo no está configurado correctamente. Verificalo:~/.ssh
son 0700.fuente
Tenía que hacer:
Entonces funcionó:
fuente
Verifique su configuración .ssh para heroku. Vaya a la carpeta .ssh y abra el archivo de configuración
El 'subl' es para Sublime Text, pero puede usar el editor que desee. Busque la línea "IdentityFile" y asegúrese de que tenga lista la clave no pública:
no
Eso lo hizo por mí. No estoy seguro de por qué el mío tenía la versión pública en el archivo de configuración, pero lo hizo y arrojó el error:
fuente
Todavía tenía problemas después de probar todas estas ideas. Este fue mi problema:
Mi repositorio remoto de heroku fue funked. Lo actualicé de la siguiente manera:
Luego elimina el heroku que está mal:
Luego agrega el nuevo
Puede obtener el nombre del sitio desde la página de configuración de Heroku para su aplicación. ¡Buena suerte!
fuente
El problema al que me enfrentaba estaba en Windows y siempre que ejecutaba las "teclas heroku: agregar" seleccionaba las teclas github. Aquí están los pasos que seguí para resolver el problema.
El comando anterior me pidió que generara una nueva clave y la siguiente fue la salida No se pudo encontrar una clave pública existente. ¿Te gustaría generar uno? [Yn] Y Generando nueva clave pública SSH. Subiendo la clave pública SSH C: / Documents and Settings / Admin / .ssh / id_rsa.pub ... ¡listo! La gema 'heroku' ha quedado en desuso y reemplazada por el Heroku Toolbelt, descárguelo e instálelo desde https://toolbelt.heroku.com .
El comando anterior no proporcionará la siguiente clave pública encontrada: C: / Documents and Settings / Admin / .ssh / id_rsa.pub Carga de la clave pública SSH C: / Documents and Settings / Admin / .ssh / id_rsa.pub .. . hecho
para mí, usar los pasos anteriores resolvió el problema y pude implementar la aplicación en la nube.
fuente
Estaba experimentando el mismo problema; seguir estos pasos debería ayudar:
.pub
archivos yknow_host
) en.ssh/ folder
fuente
Permission denied (publickey).
Solo me gustaría agregar que el directorio no es necesariamente C: \ Users \ [username] \. Ssh. Es el directorio en el que creó su clave pública.
Por ejemplo, mi directorio de inicio en Windows se cambió a C: \ [nombre de usuario]. Su directorio de inicio en una subcarpeta .ssh es el mejor y más probable lugar donde haya creado sus claves. Puede verificar su directorio de inicio en Windows con el comando:
fuente
Si quieres usar "sudo", ejemplo:
También debe generar la clave ssh para su usuario root.
y funcionará
si no usa el usuario root, genere la clave ssh en su directorio de usuario.
Lo siento si mis oraciones se equivocaron ...
fuente
Intente reparar los permisos en la Utilidad de Discos (Mac OS X). Me ayudó
fuente
Al principio, asegúrese de que los archivos ocultos sean visibles en su Mac. Si no lo hace:
defaults write com.apple.Finder AppleShowAllFiles TRUE
killall Finder
Próximos pasos:
Users/user_name/.ssh/
eliminado todos los archivos.ssh-keygen -t dsa
heroku keys:add ~/.ssh/id_dsa.pub
NB Lo hice en Mac OSX 10.7.2 Lion. Aunque el procedimiento debería ser el mismo en otros también.
fuente
Tengo este problema también. Estoy usando Mac OSX. La forma en que lo arreglé fue iniciar sesión como administrador
fuente
La solución de dmajkic me ayudó al fin:
Para los usuarios de Windows puede significar: el cliente git no pudo encontrar sus claves. Verifique las claves en c: \ Users \ UserName.ssh \ y! variable de entorno HOME = c: \ Users \ UserName \
fuente
Esto es lo que funcionó para mí. El sitio heroku no se está agregando a sus hosts conocidos. Vaya a los repositorios window-other- show view-git-git. A partir de ahí clonar el repositorio. Una vez que lo clone, elimine el repositorio que acaba de crear y luego impórtelo desde el menú archivo. Haga esto ya que cuando clona el repositorio, no lo agrega a la vista del explorador. Ahora debería tener el repositorio git y la vista del explorador.
fuente