Esta versión de GitHub Enterprise se discontinuó el 2021-09-23. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para obtener un mejor desempeño, más seguridad y nuevas características, actualiza a la última versión de GitHub Enterprise. Para obtener ayuda con la actualización, contacta al soporte de GitHub Enterprise.

Generar una nueva clave SSH y agregarla al ssh-agent

Una vez que has comprobado las claves SSH existentes, puedes generar una nueva clave SSH para usarla para la autenticación y luego agregarla al ssh-agent.

Acerca de la generación de llaves SSH

Si todavía no tienes una llave SSH, debes generar una nueva para utilizarla para autenticación. Si no estás seguro si ya tienes una llave SSH, puedes verificar si hay llaves existentes. Para obtener más información, consulta la sección "Verificar si hay llaves SSH existentes".

Si no deseas volver a ingresar tu contraseña cada vez que usas tu clave SSH, puedes agregar tu clave al agente SSH, el cual administrará tus claves SSH y recordará tu contraseña.

Generar una nueva clave SSH

  1. Abre la TerminalTerminalGit Bash.

  2. Pega el siguiente texto, que sustituye tu dirección de correo electrónico en GitHub Enterprise Server.

    $ ssh-keygen -t ed25519 -C "your_email@example.com"

    Nota: Si estás utilizando un sistema tradicional que no es compatible con el algoritmo Ed25519, utiliza:

    $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Esto crea una llave SSH utilizando el correo electrónico proporcionado como etiqueta.

> Generating public/private algorithm key pair.
  1. Cuando se te indique "Ingresar un archivo donde guardar la clave", presiona Intro. Al hacerlo aceptas la ubicación predeterminada del archivo.

    > Enter a file in which to save the key (/Users/you/.ssh/id_algorithm): [Press enter]
    > Enter a file in which to save the key (/c/Users/you/.ssh/id_algorithm):[Press enter]
    > Enter a file in which to save the key (/home/you/.ssh/algorithm): [Press enter]
  2. Donde se indica, escribe una contraseña segura. Para obtener más información, consulta la sección "Trabajar con contraseñas de llaves SSH".

    > Enter passphrase (empty for no passphrase): [Type a passphrase]
    > Enter same passphrase again: [Type passphrase again]

Agregar tu clave SSH al ssh-agent

Antes de agregar una llave SSH nueva al ssh-agent para que administre tus llaves, debes haber verificado si habían llaves SSH existentes y haber generado una llave SSH nueva. Cuando agregues tu clave SSH al agente, usa el comando macOS ssh-add y no una aplicación instalada por macports, homebrew o alguna otra fuente externa.

  1. Inicia el agente SSH en segundo plano.

    $ eval "$(ssh-agent -s)"
    > Agent pid 59566

    Dependiendo de tu ambiente, puede que necesites utilizar un comando diferente. Por ejemplo, puede que necesites utilizar acceso de raíz ejecutando sudo -s -H antes de iniciar el ssh-agent, o puede que necesites utilizar exec ssh-agent bash o exec ssh-agent zsh para ejecutar el ssh-agent.

  2. Si estás usando macOS Sierra 10.12.2 o una versión posterior, deberás modificar tu archivo ~/.ssh/config para cargar las claves automáticamente en el ssh-agent y almacenar las contraseñas en tu keychain.

    • Primero, revisa si tu archivo ~/.ssh/config existe en la ubicación predeterminada.

      $ open ~/.ssh/config
      > The file /Users/you/.ssh/config does not exist.
    • Si el archivo no existe, créalo.

      $ touch ~/.ssh/config
    • Abre tu archivo ~/.ssh/config y luego modifícalo para que contenga las siguientes líneas. Si tu llave SSH tiene un nombre o ruta diferentes que el código de ejemplo, modifica el nombre de archivo o ruta para que coincida con tu configuración actual.

      Host *
        AddKeysToAgent yes
        UseKeychain yes
        IdentityFile ~/.ssh/id_ed25519
      

      Nota: Si eliges no agregar una frase de acceso a tu llave, deberás omitir la línea UseKeychain.

      Nota: Si ves un error como este

      /Users/USER/.ssh/config: line 16: Bad configuration option: usekeychain
      

      y una línea de configuración adicional en tu sección Host *:

      Host *
        IgnoreUnknown UseKeychain
      
  3. Agrega tu llave privada SSH al ssh-agent y almacena tu contraseña en tu keychain. Si creaste tu llave con un nombre diferente o si estás agregando una llave existente que tenga un nombre diferente, reemplaza a id_ed25519 en el comando con el nombre de tu archivo de llave privada.

    $ ssh-add -K ~/.ssh/id_ed25519

    Nota: La opción -K es una versión estándar de Apple de ssh-add, que almacena la contraseña en tu keychain cuando agregas una llave SSH al ssh-agent. Si eliges no agregar una frase de acceso a tu llave, ejecuta el comando sin la opción -K.

    Si no tienes instalada la versión estándar de Apple, puedes recibir un mensaje de error. Para obtener más información sobre cómo resolver este error, consulta "Error: ssh-add: opción ilegal -- K".

  4. Agrega la llave SSH a tu cuenta en GitHub Enterprise Server. Para obtener más información, consulta la sección "Agregar una llave SSH nueva a tu cuenta de GitHub".

Si tienes GitHub Desktop instalado, puedes usarlo para clonar repositorios y no manejar claves SSH.

  1. Verifica que el ssh-agent se esté ejecutando. Puedes utilizar las instrucciones de "Autolanzamiento del ssh-agent" que se encuentran en Trabajar con frases de acceso de las llaves SSH" o iniciarlo manualmente:

    # start the ssh-agent in the background
    $ eval "$(ssh-agent -s)"
    > Agent pid 59566
  2. Agrega tu llave privada SSH al ssh-agent. Si creaste tu llave con un nombre diferente o si estás agregando una llave existente que tenga un nombre diferente, reemplaza a id_ed25519 en el comando con el nombre de tu archivo de llave privada.

    $ ssh-add ~/.ssh/id_ed25519
  3. Agrega la llave SSH a tu cuenta en GitHub Enterprise Server. Para obtener más información, consulta la sección "Agregar una llave SSH nueva a tu cuenta de GitHub".

  1. Inicia el agente SSH en segundo plano.

    $ eval "$(ssh-agent -s)"
    > Agent pid 59566

    Dependiendo de tu ambiente, puede que necesites utilizar un comando diferente. Por ejemplo, puede que necesites utilizar acceso de raíz ejecutando sudo -s -H antes de iniciar el ssh-agent, o puede que necesites utilizar exec ssh-agent bash o exec ssh-agent zsh para ejecutar el ssh-agent.

  2. Agrega tu llave privada SSH al ssh-agent. Si creaste tu llave con un nombre diferente o si estás agregando una llave existente que tenga un nombre diferente, reemplaza a id_ed25519 en el comando con el nombre de tu archivo de llave privada.

    $ ssh-add ~/.ssh/id_ed25519
  3. Agrega la llave SSH a tu cuenta en GitHub Enterprise Server. Para obtener más información, consulta la sección "Agregar una llave SSH nueva a tu cuenta de GitHub".

Leer más