4

Cómo configurar tu Mac usando la Terminal, para poder subir repositorios a Github usando Visual Studio Code

En la clase Subiendo nuestro primer repositorio, del Curso de Prework: Configuración de Entorno de Desarrollo en macOS, se explica como subir un repositorio a Github usando tanto la Terminal, como el software Visual Studio Code.
.
Varias personas se encontrarán con errores al querer subir su repositorio mediante Visual Studio Code, regularmente porque les aparece el siguiente error: Error: Permission denied (publickey). El problema radica en que Visual Studio Code no te pregunta tu contraseña de tu llave SSH que debes usar para conectarte con Github.
.
A continuación, te muestro como configurar tu equipo Mac para que puedas subir repositorios usando Visual Studio Code sin problemas. Sigue los siguientes pasos, aunque algunos ya los hayas realizado después de seguir las instrucciones en la clase Subiendo nuestro primer repositorio:
.
A) Genera una llave SSH nueva usando el algoritmo ed25519
.

  1. Abre la Terminal

  2. Pega el texto que aparece a continuación, sustituyendo tu dirección de correo electrónico de GitHub:
    $ ssh-keygen -t ed25519 -C "[email protected]"
    Esto crea una nueva clave SSH, utilizando el correo electrónico proporcionado como etiqueta.
    > Generating public/private ed25519 key pair.

  3. Cuando te aparezca el texto “Enter a file in which to save the key,”(Indica un archivo en el que guardar la clave), presionar Enter. Con esto aceptarás la ubicación predeterminada para la llave.
    > Enter a file in which to save the key (/Users/you/.ssh/id_ed25519): [Press enter]

  4. Cuando se te pida, escribe la contraseña que deseas para tu llave SSH
    > Enter passphrase (empty for no passphrase): [Type a passphrase]
    > Enter same passphrase again: [Type passphrase again]
    .
    B) Agrega tu clave SSH al ssh-agent
    Esto es necesario para que Visual Studio Code se pueda conectar exitosamente a Github. Desafortunadamente, en la clase Subiendo nuestro primer repositorio se omiten estos pasos.
    .
    Cuando agregues tu clave SSH al agente, utiliza el comando ssh-add de macOS por defecto, y no una aplicación instalada por macports, homebrew o alguna otra fuente externa.
    .

  5. Inicia ssh-agent en segundo plano.
    $ eval "$(ssh-agent -s)"
    Deberás ver la siguiente confirmación (aparecerá un número diferente)
    > Agent pid 59566

  6. Si utilizas macOS Sierra 10.12.2 o posterior, tendrás que modificar tu archivo ~/.ssh/config para cargar automáticamente las claves en el ssh-agent y almacenar las frases de contraseña en su llavero.
    – Primero, comprueba si tu archivo ~/.ssh/config existe en la ubicación predeterminada.
    $ open ~/.ssh/config
    En caso que no tengas ningún archivo ~/.ssh/config, aparecerá el siguiente mensaje:
    > The file /Users/you/.ssh/config does not exist.
    – Si sí te apareció el mensaje anterior, procede a crear el archivo ~/.ssh/config:
    $ touch ~/.ssh/config
    – Abre tu archivo ~/.ssh/config y modifica el archivo para que contenga las siguientes líneas. Si tu archivo de claves SSH tiene un nombre o ruta diferente al del código de ejemplo, modifica el nombre del archivo o la ruta para que coincida con tu configuración actual.
    Host *
    AddKeysToAgent yes
    UseKeychain yes
    IdentityFile ~/.ssh/id_ed25519

  7. Agrega tu clave privada SSH al ssh-agent y guarda tu frase de contraseña en el llavero. Si creaste tu clave con un nombre diferente, o si estás añadiendo una clave existente que tiene un nombre diferente, sustituye id_ed25519 en el comando por el nombre del archivo de clave privada.
    $ ssh-add -K ~/.ssh/id_ed25519
    .
    C) Agrega tu nueva clave SSH a tu cuenta de GitHub
    .

  8. Copia la clave pública SSH en tu portapapeles.
    $ pbcopy < ~/.ssh/id_ed25519.pub

  9. En la esquina superior derecha de cualquier página dentro de Github.com, haz clic en tu foto de perfil y, a continuación, en Settings (Configuración).

  10. En la barra lateral de configuración del usuario, haz clic en SSH and GPG keys (Claves SSH y GPG).

  11. Haz clic en New SSH key (Nueva llave SSH) o Add SSH key (Agregar llave SSH).

  12. En el campo “Title” (Título), agrega una etiqueta descriptiva para la nueva llave. Por ejemplo, si estás utilizando una Mac personal, podrías llamar a esta clave “MacBook Air personal”

  13. Pegue su clave en el campo “Key” (Llave).

  14. Haz clic en Add SSH key (Agrega llave SSH).

  15. Si se te pide, confirma tu contraseña de GitHub.

    .
    Listo, con esto debes poder subir tus repositorios a Github, mediante Visual Studio Code, sin ningún problema!

Escribe tu comentario
+ 2
2
35023Puntos
3 años

Hola Manuel, magia, ¡funciona!
Solo faltó en tu maravillosa guía configurar nuestro nombre y correo de la llave nueva. En la terminal (sustituyendo por nuestro mail y nombre, respectivamente):

$ git config --global user.email "[email protected]"
$ git config --global user.name "Your Name"

Después de eso ya funciona perfecto.
¡Miuchas gracias!