que - git github com permission denied publickey.fatal no se pudo leer del repositorio remoto
Permiso denegado(publickey) al implementar el código heroku. fatal: el extremo remoto colgó inesperadamente (30)
Al principio, asegúrese de que los archivos ocultos estén visibles en su Mac. Si no es así:
- Abra el terminal y escriba los
defaults write com.apple.Finder AppleShowAllFiles TRUE
-
killall Finder
Próximos pasos:
- Ir a
Users/user_name/.ssh/
eliminó todos los archivos. - Abrir el tipo de terminal en
ssh-keygen -t dsa
- Luego
heroku keys:add ~/.ssh/id_dsa.pub
NB lo hice en Mac OSX 10.7.2 Lion. Aunque el procedimiento debe ser igual en otros también.
Estoy intentando implementar mi código en heroku con la siguiente línea de comandos:
git push heroku master
pero recibe el siguiente error:
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Ya he cargado mi clave SSH pública, pero aún aparece este error.
Aquí está el enlace que explica cómo administrar sus claves ssh: http://devcenter.heroku.com/articles/keys#adding_keys_to_heroku
Compruebe su configuración de .ssh para Heroku. Vaya a la carpeta .ssh y abra el archivo de configuración
cd ~/.ssh
subl config
El ''subl'' es para texto sublime, pero puedes usar cualquier editor que desees. Busque la línea "IdentityFile" y asegúrese de que tenga la clave no pública en la lista:
IdentityFile "/Users/ircmullaney/.ssh/my_ssh"
no
IdentityFile "/Users/ircmullaney/.ssh/my_ssh.pub"
Eso lo hizo por mí. No estoy seguro de por qué la mía tenía la versión pública en el archivo de configuración, pero lo hizo y estaba lanzando el error:
Permissions 0644 for ''/Users/ircmullaney/.ssh/my_ssh.pub'' are too open.
El problema al que me enfrenté estaba en Windows e invariablemente, cuando ejecutaba las "teclas heroku: agregar" seleccionaba las teclas github. Así que aquí están los pasos que seguí para resolver el problema
- fue al directorio .ssh en la carpeta "Document and Settings" y eliminó las claves de git hub
- ejecuta el comando heroku teclas: agregar
El comando anterior me solicitó que generara una clave nueva 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. Cargar la clave pública de SSH C: / Documents and Settings / Admin / .ssh / id_rsa.pub ... ¡listo! La gema ''heroku'' ha sido desaprobada y reemplazada por Heroku Toolbelt, descargue e instale desde https://toolbelt.heroku.com .
- ejecute nuevamente el comando heroku keys: add
El comando anterior no proporcionará la siguiente clave pública existente encontrada de salida: C: / Documents and Settings / Admin / .ssh / id_rsa.pub Cargar SSH clave pública C: / Documents and Settings / Admin / .ssh / id_rsa.pub .. . hecho
- Ahora usa el git push heroku master
Para mí, siguiendo los pasos anteriores, resolví el problema y pude implementar la aplicación en la nube.
Empujar estaba trabajando para mí y luego se detuvo de repente.
Si el api de Heroku está experimentando un tiempo de inactividad, obtendrá este error cuando intente presionar.
Comprobar:
antes de enloquecer demasiado duro.
En Windows 7,64 bit, la solución anterior (Onur Turhan''s) funcionó para mí con pequeños cambios como se muestra a continuación
C:/Users/MyName > heroku login
Introduzca el correo electrónico / contraseña
C:/Users/MyName >ssh-keygen -t rsa -f id_rsa
Esto generó dos archivos (id_rsa e id_rsa.pub) en mi directorio c: / Users / MyName (No en el directorio .ssh)
heroku keys:add id_rsa.pub
git clone [email protected]:some-heiku-xxxx.git -o heroku
Supongo que agregar el archivo "id_rsa.pub" correcto es lo más importante. Después de generar la clave pública con keygen, verifique que está agregando la clave correcta mirando la marca de tiempo cuando se creó.
Esta fue la solución para mí:
ssh-add ~/.ssh/my_heroku_key_rsa
Estaba experimentando el mismo problema; siguiendo estos pasos debería ayudar:
- Primero, inicia sesión: heroku login
- Borrar todas las teclas: teclas heroku: borrar
- Elimine todos los archivos en la carpeta local (todos los archivos
know_host
yknow_host
) en la.ssh/ folder
- Vuelva a iniciar sesión: inicio de sesión de Heroku: aparecerá un mensaje sin clave, así que siga las instrucciones en pantalla.
Este problema estuvo jugando conmigo durante unos días.
Esto podría ayudar.
1) Averigua qué llaves tienes en Heroku ahora.
$ heroku keys
=== 1 key for [email protected]
ssh-dss AAAAB8NzaC...DVj3R4Ww== [email protected]
2) Construye un archivo ~ / .ssh / config:
$ sudo vim ~/.ssh/config
Editar con esta información
Host heroku.com
Hostname heroku.com
Port 22
IdentitiesOnly yes
IdentityFile ~/.ssh/ssh-dss # location and name of your private key
TCPKeepAlive yes
User [email protected]
Esto es lo que funcionó para mí. El sitio heroku no se está agregando a sus hosts conocidos. Vaya a los repositorios de view-git-git de window-other- show. A partir de ahí clonar el repositorio. Una vez que lo clone, elimine el repositorio que se acaba de crear y luego impórtelo desde el menú de archivo. Haga esto ya que cuando clona el repositorio, no lo agrega a la vista del explorador. Ahora deberías tener el repositorio git y la vista del explorador.
Intente reparar los permisos en la Utilidad de Discos (Mac OS X). Me ayudó
La respuesta dada anteriormente funciona, pero descubrí que necesitaba hacer algunos pasos adicionales antes de que funcionara.
- Eliminé todos los archivos id_rsa * y generé un nuevo SSH usando help.github.com/mac-set-up-git guía.
- Entonces, destruí la aplicación heroku. Se eliminó el archivo ~ / .heroku / credentials.
- El comando ''heroku create'' (y dado que el archivo de credenciales se elimina, le pedirá su correo electrónico / contraseña).
- FINALMENTE escriba ''heroku keys: add'' y cargará el archivo predeterminado ~ / .ssh / id_rsa.pub.
- ¡Funciona! Bueno ... YMMV, pero realmente espero que esto pueda ser de ayuda, ya que luché todo el día intentando resolver esto. Jaja
La solución de dmajkic me ayuda al fin:
Para los usuarios de Windows puede significar que: git client no pudo encontrar sus claves. Compruebe las claves en c: / Users / UserName.ssh / y! variable de entorno HOME = c: / Users / UserName /
Me maté durante 3 días intentando todas las combinaciones posibles para que esto funcionara. Finalmente intenté hacer una clave DSA y funcionó.
Prueba DSA en lugar de RSA si no te funciona.
(Estoy usando Ubuntu 11.10, ruby 1.8.7, heroku 2.15.1)
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 he visto más.
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 de Git C: / Archivos de programa (x86) / Git / (don '' t abrir un símbolo del sistema, esto no funcionará). - Agregue lo siguiente como se mencionó above , pero debe eliminar el #
Host heroku.com
Hostname heroku.com
Port 22
IdentitiesOnly yes
IdentityFile ~/.ssh/ssh-dss
TCPKeepAlive yes
User [email protected]
Ahora ejecuta git push heroku master y debería funcionar.
Parece que su archivo ~/.ssh/authorized_keys
no está configurado correctamente. Verificalo:
- Está en el camino correcto.
- Los permisos del archivo son 0600.
- Los permisos de
~/.ssh
son 0700.
Secuencia a seguir
$ heroku login
$ ssh-keygen -t rsa
$ heroku keys:add
Cuando se ejecuta la segunda instrucción, se solicitará una entrada, solo presione Entrar (retorno) tres veces y se agregará una tecla.
Seguía teniendo problemas después de probar todas estas ideas. Este fue mi problema:
Mi repositorio de heroku remoto fue funked. Lo actualicé de la siguiente manera:
git remote -v
Luego retire el heroku que está mal:
git remote rm heroku
Luego agrega el nuevo
git remote add heroku [email protected]:sitename.git
Puede obtener el nombre del sitio en la página de configuración de Heroku para su aplicación. ¡Buena suerte!
Si eres usuario de Windows, las otras soluciones aquí probablemente no resolverán tu 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
a C:/Program Files (x86)/Git/.ssh
. Ahí es donde este cliente de git busca las claves cuando presiona a heroku.
Espero que esto ayude.
Si quieres usar "sudo", ejemplo:
sudo git clone [email protected]......... -o heroku
También debe generar la clave ssh para su usuario root.
sudo su
cd /root/.ssh
ssh-keygen -t rsa
....
heroku keys:add id_rsa.pub
y funcionará.
Si no usa un usuario root, genere la clave ssh en su directorio de usuarios.
cd /home/user/.ssh
Lo siento si mis oraciones en mal estado ...
Si ya ha cargado la clave, intente eliminarla y vuelva a cargarla con una nueva clave.
heroku keys:remove //removes the existing key
ssh-keygen -t rsa //generates a new key in ~/.ssh folder
heroku keys:add //uploads the new key, if no arguments r passed then the key generated
//in default directroy i.e., ~/.ssh/id_rsa is uploaded
git push heroku
Esto debería funcionar.
Solo quisiera agregar que el directorio no es necesariamente C: / Users / [nombre de usuario] /. Ssh. Es el directorio en el que creó su clave pública en.
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. Puedes verificar tu directorio de inicio en Windows con el comando:
echo %HOMEPATH%
Tenía que hacer:
$ ssh-keygen -t rsa
$ heroku keys:add
Entonces funcionó:
$ git push heroku master
Tengo este problema también. Estoy usando Mac OSX. La forma en que lo arreglé fue iniciar sesión como administrador.
sudo su
contraseña
Tienes que subir tu clave pública a Heroku:
heroku keys:add ~/.ssh/id_rsa.pub
Si no tiene una clave pública, Heroku le pedirá que agregue una automáticamente que funcione a la perfección. Solo usa:
heroku keys:add
Para borrar todas tus claves anteriores haz:
heroku keys:clear
Para visualizar todas tus llaves existentes haz:
heroku keys
EDITAR:
Lo anterior no parece funcionar para mí. Había perdido el tiempo con la variable de entorno HOME
y, por lo tanto, SSH estaba buscando claves en el directorio incorrecto.
Para asegurarse de que SSH verifique la clave en el directorio correcto, haga lo siguiente:
ssh -vT [email protected]
Que mostrará las siguientes líneas (muestra)
OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007
debug1: Connecting to heroku.com [50.19.85.156] port 22.
debug1: Connection established.
debug1: identity file /c/Wrong/Directory/.ssh/identity type -1
debug1: identity file /c/Wrong/Directory/.ssh/id_rsa type -1
debug1: identity file /c/Wrong/Directory/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version Twisted
debug1: no match: Twisted
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_4.6
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: sending SSH2_MSG_KEXDH_INIT
debug1: expecting SSH2_MSG_KEXDH_REPLY
debug1: Host ''heroku.com'' is known and matches the RSA host key.
debug1: Found key in /c/Wrong/Directory/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /c/Wrong/Directory/.ssh/identity
debug1: Trying private key: /c/Wrong/Directory/.ssh/id_rsa
debug1: Trying private key: /c/Wrong/Directory/.ssh/id_dsa
debug1: No more authentication methods to try.
Permission denied (publickey).
De lo anterior se puede observar que ssh busca las claves en el directorio /c/Wrong/Directory/.ssh
que no es donde tenemos las claves públicas que acabamos de agregar a heroku (usando heroku keys:add ~/.ssh/id_rsa.pub
) ( Tenga en cuenta que en el sistema operativo Windows ~
refiere a la ruta de heroku keys:add ~/.ssh/id_rsa.pub
que en Windows heroku keys:add ~/.ssh/id_rsa.pub
es C:/Users/UserName
)
Para ver su directorio de inicio actual, haga lo siguiente: echo $HOME
o echo %HOME%
(Windows)
Para configurar correctamente su directorio HOME
(me refiero correctamente al directorio padre del directorio .ssh
, para que ssh pueda buscar claves en el directorio correcto) consulte estos enlaces:
Tuve el mismo problema porque no tenía claves públicas, así que tuve:
heroku keys:clear
heroku keys:add
Eso generará una clave pública y luego funcionará bien.
Tuve el mismo problema, los pasos a continuación funcionaron para mí,
->heroku login
[email protected] y contraseña
->cd C:/Users/yourusername/.ssh (OR for cygwin shell ->cd ~/.ssh)
->ssh-keygen -t rsa -f id_rsa
Si solicita alguna frase de contraseña, no la use en blanco, llénela con una frase de contraseña, pero no la olvide.
Después de generar la clave necesitas agregarla, así.
$ ssh-add
y eso a heroku
->heroku keys:add "id_rsa.pub"
cambiar directorio a espacio de trabajo, que
->git clone [email protected]:stark-dawn-1234.git -o heroku
use la frase de contraseña que estableció anteriormente.
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
Tuve este problema cuando TortoiseGIT se instaló en mi máquina. Después de cambiar la variable de entorno GIT_SSH
de
"c:/Program Files/TortoiseGit/bin/TortoisePlink.exe"
a
"c:/Program Files (x86)/Git/bin/ssh.exe"
y siguiendo este tutorial con ssh-keygen
y keys:add
, ¡funciona!
Un solo comando funciona:
heroku keys:add
Hará uno si no existe.