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
-
Abre la TerminalTerminalGit Bash.
-
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.
-
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]
-
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.
-
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 utilizarexec ssh-agent bash
oexec ssh-agent zsh
para ejecutar el ssh-agent. -
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
-
-
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 dessh-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".
-
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.
-
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
-
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
-
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".
-
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 utilizarexec ssh-agent bash
oexec ssh-agent zsh
para ejecutar el ssh-agent. -
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
-
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
- "Acerca de SSH"
- Para obtener más información, consulta "Trabajar con frases de contraseña de la clave SSH"