Autorização SSH
Saiba como clonar o repositório usando SSH.
Para clonar o repositório usando uma chave SSH, você precisa de um par de chaves SSH. Para obter uma lista de impressões digitais SSH de chave pública e regiões correspondentes aplicáveis ao gerenciamento de código-fonte (SCM) DevOps, consulte Impressões Digitais SSH. Você pode ser um usuário do serviço IAM ou um usuário federado. Os usuários do serviço IAM podem fazer parte de um domínio. Um domínio de identidades é um contêiner para gerenciar usuários e atribuições.
Configurando a Autenticação SSH
- Gere um par de chaves SSH. Você pode usar o par de chaves OpenSSH ou uma chave de assinatura de API do OCI. Observação
Se você já tiver um par de chaves SSH, poderá usar o mesmo. Por padrão, as chaves SSH são armazenadas no diretório~/.ssh
do sistema.Para gerar um par de chaves SSH, siga as etapas fornecidas:
- Abra uma janela de terminal.
-
Digite o seguinte comando:
ssh-keygen -t rsa -C "<user.alias>@"
- Aceite os valores padrão quando solicitado.
- O comando cria uma chave RSA de 3072 bits para uso com SSH.
- Você pode fornecer uma frase-chave para a chave privada quando for solicitada a segurança.
- O comando produz duas chaves necessárias para a autenticação SSH: Chave privada ( id_rsa ) e Chave pública ( id_rsa.pub ). Mantenha a chave privada em segurança e não a compartilhe.
- Copie o conteúdo do arquivo de chaves públicas. Se você estiver usando a chave de formato OpenSSH, execute o seguinte comando:
ssh-keygen -f ~/.ssh/id_rsa.pub -e -m pkcs8 | pbcopy
Se você estiver usando a chave de assinatura da API do OCI, use o seguinte comando:cat ~/.oci/oci_api_key_public.pem | pbcopy
- Faça upload da chave pública para o OCI e associe-a ao usuário do serviço IAM. Siga as etapas fornecidas:
- Abra o menu de navegação e clique em Identidade e Segurança. Em Identidade, selecione Domínios. A página da lista Domínios é aberta. Todos os domínios de identidades no compartimento selecionado são exibidos em uma tabela.
- Selecione um domínio. A página Detalhes do Domínio é aberta.
- Selecione Gerenciamento de usuários. Todos os usuários associados ao domínio são listados.
- Selecione o Nome do Usuário que você deseja usar para autenticação de serviço Git. A página Detalhes do Usuário é aberta.
- Selecione chaves de API.
- Selecione Adicionar Chave de API, selecione a opção Colar uma chave pública e cole o conteúdo de chave pública.
- Selecione Adicionar.
Configurando Operações do Git
Você pode configurar o nome de usuário Git no arquivo de configuração OpenSSH ou incorporar o nome de usuário Git no URL SSH.
- Para configurar o nome de usuário Git no arquivo de configuração OpenSSH, siga as etapas fornecidas:
- Verifique se o arquivo
~/.ssh/config
existe no local padrão.open ~/.ssh/config
- Se o arquivo não existir, crie-o.
touch ~/.ssh/config
- Edite o arquivo de configuração SSH
~/.ssh/config
para especificar o usuário e a chave a serem usados na operaçãogit clone
. O formato da entrada do host no arquivo de configuração:Host <CodeRepositoryHost> User <userName>@<tenancyName> IdentityFile <PathToYourSSHPrivateKey>
O formato de arquivo de uma parte do usuário do serviço IAM de um domínio é:Host <CodeRepositoryHost> User <domainName>/<userName>@<tenancyName> IdentityFile <PathToYourSSHPrivateKey>
O usuário SSH é uma combinação do nome de usuário de log-in e do nome da tenancy. Por exemplo, se você estiver usando um usuário federado, o usuário SSH do repositório de código do Git será,Federation/userName@tenancyName
. Na string do usuário:Federation
é opcional e é o provedor de identidades federado.userName
é o usuário que acessa a Console do OCI.tenancyName
é o nome da tenancy, que você pode encontrar na Console do OCI.
oracleidentitycloudservice/the-product-manager-user@my-tenancy
A string do usuário SSH não precisa ter codificação ou escape no URL. Por exemplo, para um repositório de código na região Ashburn, a entrada de configuração do host é:Host devops.scmservice.us-ashburn-1.oci.oraclecloud.com User the-product-manager-user@my-tenancy IdentityFile ~/.ssh/id_rsa
Para todas as regiões do OCI, você pode usar um curinga para o host, por exemplo,
Host devops.scmservice.*.oci.oraclecloud.com
.
- Verifique se o arquivo
-
Para configurar o nome de usuário do Git no URL SSH, siga as etapas fornecidas:
- Adicione o nome de usuário do Git no URL SSH:
ssh://<userName>@<tenancyName>@<sshUrl>
URL SSH para um usuário em um domínio:ssh://<domainName>/<userName>@<tenancyName>@<sshUrl>
- Adicione a chave privada SSH ao SSH-agent e armazene a frase-senha no keychain.
ssh-add -K ~/.ssh/id_rsa
- Adicione o nome de usuário do Git no URL SSH:
Copiando o Repositório
- Na linha de comando da máquina local, altere o local do diretório de trabalho para onde você deseja clonar o repositório.
- Para clonar o repositório, execute o comando
git clone
com o URL SSH que você copiou da Console do Cloud.Por exemplo,
git clone ssh://devops.scmservice.us-ashburn-1.oci.oraclecloud.com/namespaces/MY-TENANCY/projects/PROJECT-NAME/repositories/REPO-NAME