Autorización SSH

Descubra cómo clonar el repositorio mediante SSH.

Para clonar el repositorio mediante una clave SSH, necesita un par de claves SSH. Para obtener una lista de las huellas de SSH de clave pública y las regiones correspondientes aplicables a la gestión de código fuente (SCM) de DevOps, consulte Huellas de SSH. Puede ser un usuario de IAM o un usuario federado. Los usuarios de IAM pueden formar parte de un dominio. Un dominio de identidad es un contenedor para gestionar usuarios y roles.

Configuración de una autenticación SSH

  1. Genere un par de claves SSH. Puede utilizar un par de claves OpenSSH o una clave de firma de API de OCI.
    Nota

    Si ya tiene un par de claves SSH, puede utilizarlo. Por defecto, las claves SSH se almacenan en el directorio ~/.ssh del sistema.

    Para generar un par de claves SSH, siga los pasos indicados:

    1. Abra una ventana de terminal.
    2. Introduzca el siguiente comando:

      ssh-keygen -t rsa -C "<user.alias>@"
    3. Acepte los valores por defecto cuando se le solicite.
    4. El comando crea una clave RSA de 3072 bits para su uso con SSH.
    5. Puede proporcionar una frase de contraseña para la clave privada cuando se le solicite que defina la seguridad.
    6. El comando genera dos claves necesarias para la autenticación SSH: una clave privada (id_rsa) y una clave pública (id_rsa.pub). Mantener la clave privada de forma segura y no compartirla.
  2. Copie el contenido del archivo de clave pública.
    Si utiliza una clave con formato OpenSSH, utilice el siguiente comando:
    ssh-keygen -f ~/.ssh/id_rsa.pub -e -m pkcs8 | pbcopy
    Si utiliza una clave con firma de API de OCI, utilice el siguiente comando:
    cat ~/.oci/oci_api_key_public.pem | pbcopy
  3. Cargar la clave pública en OCI y asociarla al usuario de IAM. Siga los pasos indicados:
    1. Abra el menú de navegación y haga clic en Identidad y seguridad. En Identidad, seleccione Dominios. Se abre la página de lista Dominios. Todos los dominios de identidad del compartimento seleccionado se muestran en una tabla.
    2. Seleccionar un dominio. Se abre la página Detalles de dominio.
    3. Seleccione Gestión de usuarios. Se muestran todos los usuarios asociados al dominio.
    4. Seleccione el nombre de usuario que desea utilizar para la autenticación de servicio Git. Se abre la página Detalles del usuario.
    5. Seleccione Claves de API.
    6. Seleccione Agregar clave de API, seleccione la opción Pegar una clave pública y pegue el contenido de clave pública.
    7. Haga clic en Agregar.

Configuración de Git Operations

Puede configurar el nombre de usuario de Git en el archivo de configuración OpenSSH o embeber el nombre de usuario de Git en la URL de SSH.

  1. Para configurar el nombre de usuario de Git en el archivo de configuración OpenSSH, siga los pasos proporcionados:
    1. Compruebe si el archivo ~/.ssh/config existe en la ubicación por defecto.
      open ~/.ssh/config
    2. Si el archivo no existe, cree el archivo.
      touch ~/.ssh/config
    3. Debe editar el archivo de configuración SSH ~/.ssh/config para especificar el usuario y la clave que se utilizarán para la operación git clone. El formato de la entrada de host en el archivo de configuración es:
      
      Host <CodeRepositoryHost>
        User <userName>@<tenancyName>
        IdentityFile  <PathToYourSSHPrivateKey>
      El formato de archivo de una parte de usuario de IAM de un dominio es:
      Host <CodeRepositoryHost>
        User <domainName>/<userName>@<tenancyName>
        IdentityFile  <PathToYourSSHPrivateKey>
      El usuario SSH es una combinación del nombre de usuario y el nombre de arrendamiento de conexión. Por ejemplo, si utiliza un usuario federado, el usuario SSH del repositorio de código para Git es Federation/userName@tenancyName. En la cadena de usuario:
      • Federation es opcional y es el proveedor de identidad federado.
      • userName es el usuario que se conecta a la consola de OCI.
      • tenancyName es el nombre del arrendamiento, que puede encontrar en la consola de OCI.
      Ejemplo, oracleidentitycloudservice/the-product-manager-user@my-tenancy
      No es necesario codificar ni identificar la cadena de usuario SSH. Por ejemplo, para un repositorio de código en la región Ashburn, la entrada de configuración del host es:
      Host devops.scmservice.us-ashburn-1.oci.oraclecloud.com
          User the-product-manager-user@my-tenancy
          IdentityFile ~/.ssh/id_rsa

      Para todas las regiones de OCI, puede utilizar un comodín para el host, por ejemplo, Host devops.scmservice.*.oci.oraclecloud.com.

  2. Para configurar el nombre de usuario de Git en la URL de SSH, siga los pasos proporcionados:
    1. Agregue el nombre de usuario de Git en la URL de SSH:
      ssh://<userName>@<tenancyName>@<sshUrl>
      URL de SSH para un usuario en un dominio:
      ssh://<domainName>/<userName>@<tenancyName>@<sshUrl>
    2. Agregue la clave privada SSH a SSH-agent y almacene la frase de contraseña en el llavero.
      ssh-add -K ~/.ssh/id_rsa

Clonando el repositorio

  1. En la línea de comandos de la máquina local, cambie la ubicación del directorio de trabajo a la ubicación en la que desea clonar el repositorio.
  2. Para clonar el repositorio, ejecute el comando git clone con la URL de SSH que ha copiado de la consola de Cloud.

    Por ejemplo, git clone ssh://devops.scmservice.us-ashburn-1.oci.oraclecloud.com/namespaces/MY-TENANCY/projects/PROJECT-NAME/repositories/REPO-NAME