Me estoy tirando de pelos tratando de que Berkshelf descargue un libro de cocina de la compañía de nuestro repository privado BitBucket (git). Esto está en un host de Windows 8.1.
Encontré esta pregunta y he intentado lo que se describió en la respuesta. También jugué con las instrucciones que Atlassian aconseja aquí y especialmente en su página sobre ssh para múltiples identidades .
C:\Users\MyUser\.ssh\mykey.ppk
la key privada en C:\Users\MyUser\.ssh\mykey.ppk
. C:\Users\MyUser\.ssh\config
con los siguientes contenidos:
Host mycompany HostName bitbucket.org IdentityFile ~/.ssh/mykey.ppk
Intento include el libro de cocina en berksfile así:
cookbook 'mycookbook', git: "git@mycompany:myteam/mycookbook.git", protocol: :ssh
Cuando ejecuto $ berks install -d
obtengo:
Fetching 'mycookbook' from git@mycompany:myteam/mycookbook.git (at master) Enter passphrase for key '/c/Users/MyUser/.ssh/mykey.ppk': Git error: command `git clone git@mycompany:myteam/mycookbook.git "C:/Users/MyUser/.berkshelf/.cache/git/6d5b957656d1bda26bf05aea558176c86db263f2" --bare --no -hardlinks` failed. If this error persists, try removing the cache directory at 'C:/Users/MyUser/.berkshelf/.cache/git/6d5b957656d1bda26bf05aea558176c86db263f2'.Output from the command: Cloning into bare repository 'C:/Users/MyUser/.berkshelf/.cache/git/6d5b957656d1bda26bf05aea558176c86db263f2'... Permission denied (publickey). fatal: Could not read from remote repository.
¿Alguna idea de por qué esto no está funcionando?
¿Tengo que replace 'git' en frente del @ con mi nombre de usuario?
Además, tenga en count que me pide la frase de paso de la ppk, que acabo de confirmar con 'enter' como lo dejé en blanco. ¿Pero no debería simplemente leerlo sin pedirlo?
Aquí hay un par de sugerencias:
HOME
esté configurada en C:\Users\MyUser
cuando esté ejecutando el command berks
. Use una ruta completa para la key privada
Host mycompany HostName bitbucket.org IdentityFile /C/User/MyUser/.ssh/mykey.ppk
intente y use las teclas rsa en lugar de las keys privadas de masilla (ppk)
ssh-keygen -t rsa
( id_rsa
reference a la key privada en IdentityFile
: id_rsa
, agregue la pública al repository BitBucket)
El OP phpphil confirma en los comentarios :
Resultó que el último punto lo solucionó: utilicé la interfaz de usuario Puttygen para exportar la key
Conversions -> Export OpenSSH key
comomykey.pub
, luego simplemente cambié la configuration aIdentityFile ~/.ssh/mykey.pub
.
Funcionó con la ruta relativa también.