{"id":637,"date":"2024-12-02T18:10:00","date_gmt":"2024-12-02T17:10:00","guid":{"rendered":"https:\/\/blog.pirulug.com\/?p=637"},"modified":"2024-12-02T18:10:00","modified_gmt":"2024-12-02T17:10:00","slug":"como-solucionar-el-error-permission-denied-publickey-al-clonar-un-repositorio-de-github","status":"publish","type":"post","link":"https:\/\/blog.pirulug.com\/?p=637","title":{"rendered":"C\u00f3mo solucionar el error \u00abPermission denied (publickey)\u00bb al clonar un repositorio de GitHub"},"content":{"rendered":"<p>\n  Al clonar un repositorio privado de GitHub utilizando SSH, puedes encontrarte<br \/>\n  con el error:\n<\/p>\n<pre>\ngit@github.com: Permission denied (publickey).\nfatal: Could not read from remote repository.\n    <\/pre>\n<p>\n  Este error ocurre generalmente porque la clave SSH configurada en el servidor<br \/>\n  no est\u00e1 correctamente enlazada a tu cuenta de GitHub. Aqu\u00ed te explicamos c\u00f3mo<br \/>\n  solucionarlo paso a paso.\n<\/p>\n<h2>1. Configurar el archivo <code>config<\/code> en <code>~\/.ssh<\/code><\/h2>\n<p>\n  Aseg\u00farate de que tu archivo <code>config<\/code> est\u00e9 configurado<br \/>\n  correctamente. Deber\u00eda incluir lo siguiente:\n<\/p>\n<pre>\nHost github.com\n    HostName github.com\n    User git\n    IdentityFile \/deploy\/.ssh\/pfi_deploy\n    <\/pre>\n<p>Revisa y edita este archivo si es necesario:<\/p>\n<pre>\nnano \/deploy\/.ssh\/config\n    <\/pre>\n<h2>2. Agregar la clave SSH al agente<\/h2>\n<p>\n  Ejecuta los siguientes comandos para asegurarte de que la clave SSH est\u00e9<br \/>\n  cargada en el agente:\n<\/p>\n<pre>\neval \"$(ssh-agent -s)\"\nssh-add \/deploy\/.ssh\/pfi_deploy\n    <\/pre>\n<h2>3. Probar la conexi\u00f3n con GitHub<\/h2>\n<p>\n  Verifica que puedes conectarte a GitHub correctamente usando este comando:\n<\/p>\n<pre>\nssh -T git@github.com\n    <\/pre>\n<p>Deber\u00edas ver un mensaje como:<\/p>\n<blockquote><p>\n  Hi <code>&lt;tu_usuario&gt;<\/code>! You&#8217;ve successfully authenticated, but<br \/>\n  GitHub does not provide shell access.\n<\/p><\/blockquote>\n<h2>4. Verificar la clave p\u00fablica en GitHub<\/h2>\n<p>\n  Aseg\u00farate de que la clave p\u00fablica (<code>pfi_deploy.pub<\/code>) est\u00e9<br \/>\n  registrada en tu cuenta de GitHub:\n<\/p>\n<ol>\n<li>\n    Ve a <strong>Settings<\/strong> &gt; <strong>SSH and GPG keys<\/strong> en<br \/>\n    GitHub.\n  <\/li>\n<li>Haz clic en <strong>New SSH key<\/strong>.<\/li>\n<li>Pega el contenido de <code>pfi_deploy.pub<\/code>.<\/li>\n<\/ol>\n<p>Para obtener el contenido de la clave p\u00fablica, ejecuta:<\/p>\n<pre>\ncat \/deploy\/.ssh\/pfi_deploy.pub\n    <\/pre>\n<h2>5. Revisar los permisos de los archivos SSH<\/h2>\n<p>\n  Confirma que los permisos de los archivos en la carpeta <code>.ssh<\/code> son<br \/>\n  los adecuados:\n<\/p>\n<pre>\nchmod 600 \/deploy\/.ssh\/pfi_deploy\nchmod 644 \/deploy\/.ssh\/pfi_deploy.pub\nchmod 700 \/deploy\/.ssh\n    <\/pre>\n<h2>6. Intentar clonar nuevamente<\/h2>\n<p>Una vez configurado todo, intenta clonar el repositorio nuevamente:<\/p>\n<pre>\ngit clone git@github.com:pfinteractive\/pfinteractive-web.git\n    <\/pre>\n<p>\n  Si todo est\u00e1 configurado correctamente, el repositorio se clonar\u00e1 sin<br \/>\n  problemas.\n<\/p>\n<h2>Conclusi\u00f3n<\/h2>\n<p>\n  Resolver el error \u00abPermission denied (publickey)\u00bb al clonar un repositorio de<br \/>\n  GitHub es sencillo si sigues estos pasos. Aseg\u00farate de tener la clave SSH<br \/>\n  correcta vinculada a tu cuenta de GitHub y verifica los permisos de los<br \/>\n  archivos en tu servidor.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Al clonar un repositorio privado de GitHub utilizando SSH, puedes encontrarte con el error: git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Este error ocurre generalmente porque la clave SSH configurada en el servidor no est\u00e1 correctamente enlazada a tu cuenta de GitHub. Aqu\u00ed te explicamos c\u00f3mo solucionarlo paso a paso. 1. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[135],"class_list":["post-637","post","type-post","status-publish","format-standard","hentry","category-sin-categoria","tag-ssh"],"_links":{"self":[{"href":"https:\/\/blog.pirulug.com\/index.php?rest_route=\/wp\/v2\/posts\/637","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.pirulug.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.pirulug.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.pirulug.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.pirulug.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=637"}],"version-history":[{"count":0,"href":"https:\/\/blog.pirulug.com\/index.php?rest_route=\/wp\/v2\/posts\/637\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.pirulug.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=637"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.pirulug.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=637"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.pirulug.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=637"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}