Recentemente estava tentando sincronizar meu repositório local com o remoto, no Bitbucket (https://bitbucket.org), utilizando o Sourcetree (https://www.sourcetreeapp.com/) via HTTPS e, por algum motivo ainda não identificado, o mesmo ficou abrindo o alerta de preenchimento de senha infinitas vezes, mesmo já estando conectado e inserindo a senha correta.
Fui então tentar a conexão via SSH. Criei a chave, inseri no Sourcetree e também no repositório do Bitbucket, conforme próprio tutorial do Bitbucket.
Finalmente consegui baixar o repositório remoto para a pasta local (pull), mas ao tentar sincronizar o local com o remoto (push) me apareceu o famigerado:
Can't git push to Bitbucket: Unauthorized - fatal: Could not read from remote repository
Voltando a novas pesquisas de como resolver esse problema, acabei descobrindo que a chave SSH não deve ser inserida no repositório, mas sim no usuário. Pois a chave inserida no repositório dá acesso apenas à leitura do mesmo.
Dessa forma, resolvi escrever esse pequeno tutorial de como fazer Sourcetree e Bitbucket funcionarem utilizando o acesso SSH.
Aqui irei descrever como:
Os ambientes/sistemas utilizados neste tutorial foram: Windows 10, Sourcetree ver.: 3.2.6 com o Putty Key Generator Release 0.70.2-Sourcetree e o Bitbucket cuja última release foi em 13/08/2019.
Finalizamos a criação do par de chaves, agora vamos inserir a chave SSH no Sourcetree.
Pronto, agora vamos inserir a chave SSH no Bitbucket.
Não esqueça ou perca a senha da chave SSH, ela será necessária quando for dar PUSH nos projetos que utilizam a chave.
Assim finalizamos o processo para fazer com que o Sourcetree utilize SSH para realizarmos a sincronização de nossos repositórios.
Dessa forma, resolvi escrever esse pequeno tutorial de como fazer Sourcetree e Bitbucket funcionarem utilizando o acesso SSH.
Aqui irei descrever como:
- Criar a chave SSH
- Inserir a chave SSH no Sourcetree
- Inserir a chave SSH no Usuário do Bitbucket.
Os ambientes/sistemas utilizados neste tutorial foram: Windows 10, Sourcetree ver.: 3.2.6 com o Putty Key Generator Release 0.70.2-Sourcetree e o Bitbucket cuja última release foi em 13/08/2019.
Passo 1 - Criar Chave SSH
O primeiro passo é a criação do par de chaves SSH. Caso você já possua um par de chaves, passe para o segundo passo (Inserir Chave SSH no Sourcetree).- No Sourcetree, acesse a opção do menu "Tools -> Create or import SSH Keys"
- No aplicativo que abrir (Putty Key Generator), clique no botão "Generate", será exibida uma barra de progresso. Para que a criação da chave seja mais rápida e efetiva, movimente o mouse aleatoriamente enquanto a barra é preenchida.
- No campo "Key passphrase" insira uma senha para este par de chaves (guarde a senha com cuidado, a utilizaremos futuramente).
- No campo "Confirm passphrase" insira a mesma senha do campo anterior.
- Após a criação da chave, clique no botão "Save public key", para salvar em um local seguro a chave pública criada.
- Após salvar a chave pública, clique no botão "Save private key", para salva a chave privada criada.
Finalizamos a criação do par de chaves, agora vamos inserir a chave SSH no Sourcetree.
Passo 2 - Inserir Chave SSH no Sourcetree
Após a criação do par de chaves, ou caso você já tenha uma chave, é chegado o momento de inserir a chave no Sourcetree.- No Sourcetree, acesse a opção do menu "Tools -> Launch SSH Agent..."
- Caso já exista alguma chave cadastrada, será solicitada a senha da mesma. Caso contrário, será exibida a janela do aplicativo Pageant Key List.
- No Pageant Key List, clique no botão "Addkey".
- Será aberta uma janela do Explorer para que você selecione a chave privada salva no passo 1. Selecione o arquivo.
- Insira a senha do par de chaves. Feche a janela no botão "Close"
Pronto, agora vamos inserir a chave SSH no Bitbucket.
Passo 3 - Inserir Chave SSH no Bitbucket
Agora vamos para o passo final que é inserir a chave no Bitbucket. Meu Bitbucket está em inglês, ok.- No Bitbucket, acesse seu perfil de usuário. Clique no seu avatar (foto) que encontra-se no canto inferior esquerdo e selecione a opção "View Profile".
- No menu lateral que aparece na nova tela, clique em "Settings".
- No novo menu lateral da tela Settings, selecione "SSH keys" que encontra-se na categoria "Security".
- Na nova tela, clique no botão "Add key".
- No modal que abrir, insira um nome para a sua chave, no campo "Label"
- Depois, copie do program a Putty Key Generator (Passo 1) o conteúdo do campo "Key" e cole no campo "Key" do modal do Bitbucket.
- Finalize clicando no botão "Add key".
- A lista de chaves sera atualizada.
Não esqueça ou perca a senha da chave SSH, ela será necessária quando for dar PUSH nos projetos que utilizam a chave.
Assim finalizamos o processo para fazer com que o Sourcetree utilize SSH para realizarmos a sincronização de nossos repositórios.