SSH
clave ssh
Las claves SSH le permiten establecer una conexión segura entre su computadora y GitLab. Antes de generar claves SSH en el shell, verifique si su sistema ya tiene claves SSH ejecutando:
Línea de comandos de Windows:
type %userprofile%\.ssh\id_rsa.pub
GNU/Linux/Mac/PowerShell:
cat ~/.ssh/id_rsa.pub
Si ve una cadena larga que comienza con string ssh-rsa
, puede omitir ese ssh-keygen
paso.
Nota: La mejor práctica es usar una frase de contraseña para su contraseña de SSH, pero esto no es obligatorio, puede omitir la creación de una frase de contraseña presionando Enter. Tenga en cuenta que la contraseña que elija aquí no se puede cambiar ni recuperar.
Para generar nuevas claves SSH, use el siguiente comando:
ssh-keygen -t rsa -C "你的email地址"
Este comando le pedirá una ubicación y un nombre de archivo para almacenar el par de claves y la contraseña. Cuando se le solicite una ubicación y un nombre de archivo, simplemente presione Entrar para usar los valores predeterminados. Si usa otro nombre, la clave no se usará automáticamente.
Muestre su clave pública con el siguiente comando:
Línea de comandos de Windows:
type %userprofile%\.ssh\id_rsa.pub
GNU/Linux/Mac/PowerShell:
cat ~/.ssh/id_rsa.pub
Copie y pegue la clave en la sección "Mis claves SSH" en la pestaña "SSH" de su perfil de usuario. Copie ssh-rsa
la clave completa comenzando con su nombre de usuario y host.
Para copiar la clave pública al portapapeles, use el siguiente código. Dependiendo de su sistema operativo, necesita usar diferentes comandos:
Línea de comandos de Windows:
type %userprofile%\.ssh\id_rsa.pub | clip
Windows PowerShell:
cat ~/.ssh/id_rsa.pub | clip
Mac:
pbcopy < ~/.ssh/id_rsa.pub
GNU/Linux (requiere xclip):
xclip -sel clip < ~/.ssh/id_rsa.pub
clave de despliegue
Las claves de implementación permiten el acceso de solo lectura a varios proyectos con una sola clave SSH.
Esto es útil para clonar un repositorio en un servidor de integración continua (CI). Al usar una clave de implementación, no tiene que configurar una cuenta de usuario ficticia.
Si es el maestro o propietario del proyecto, puede agregar una clave de implementación en la configuración del proyecto en la sección "Claves de implementación". Presione el botón "Nueva clave de implementación" y cargue la clave SSH pública. Después de esto, las computadoras que usan la clave privada correspondiente tienen acceso de solo lectura al proyecto.
No puede agregar la misma clave de implementación dos veces usando la opción "Nueva clave de implementación". Si desea agregar la misma clave a otro proyecto, actívela en la lista "Implementar claves de proyectos disponibles". Todas las claves de implementación para todos los proyectos a los que tiene acceso están disponibles. Este acceso al proyecto se puede lograr siendo miembro directo del proyecto oa través de un grupo. Consulte def accessible_deploy_keys
para obtener app/models/user.rb
más información.
Las claves de implementación se pueden compartir entre proyectos, solo necesita agregarlas a cada proyecto.
solicitud
Eclipse
Cómo agregar sus claves ssh a Eclipse : https://wiki.eclipse.org/EGit/User_Guide#Eclipse_SSH_Configuration
Sugerencia: nombre de archivo o ubicación de la clave OpenSSH no predeterminada
Por alguna razón, si decide especificar una ubicación y un nombre de archivo no predeterminados para su par de claves GitLab SSH, debe configurar su cliente SSH para encontrar la clave privada GitLab SSH para conectarse a su servidor GitLab (probablemente gitlab.com). Para el cliente OpenSSH, esto se ~/.ssh/config
maneja en un archivo con una estrofa similar a la siguiente:
#
# Main gitlab.com server
#
Host gitlab.com
RSAAuthentication yes
IdentityFile ~/my-ssh-key-directory/my-gitlab-private-key-filename
User mygitlabusername
otro ejemplo
#
# Our company's internal GitLab server
#
Host my-gitlab.company.com
RSAAuthentication yes
IdentityFile ~/my-ssh-key-directory/company-com-private-key-filename
Tenga en cuenta que en el ejemplo anterior de gitlab.com, se especificó un nombre de usuario para anular el predeterminado elegido por OpenSSH (su nombre de usuario local). Esta opción solo es necesaria si sus nombres de usuario locales y remotos son diferentes.
Debido a la amplia variedad de clientes SSH y la gran cantidad de opciones de configuración, la explicación adicional de estos temas está más allá del alcance de este documento.
Las claves SSH públicas deben ser únicas, ya que estarán vinculadas a su cuenta. Su clave SSH es el identificador único al enviar código a través de SSH. Es por eso que necesita mapear de manera única a un solo usuario.