Carreguei o meu ~/.ssh/id_rsa.pub
para as chaves SSH do bitbucket como explicou , mas Git ainda me pede minha senha em cada operação (como git pull
). Perdi alguma coisa?
É um repositório privado (fork do repositório privado de outra pessoa) e eu o clonei assim:
git clone [email protected]:Nicolas_Raoul/therepo.git
Aqui está o meu local .git/config
:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = https://[email protected]/Nicolas_Raoul/therepo.git
[branch "master"]
remote = origin
merge = refs/heads/master
No mesmo ambiente com a mesma chave pública, o Git no Github funciona bem.
.ssh
é rwx------
, .ssh/id_rsa
é -rw-------
, .ssh/id_rsa.pub
é-rw-r--r--
.git/config
por[email protected]:Nicolas_Raoul/therepo.git
e agora funciona!ssh://[email protected]/userName/repoName.git
- semssh://
prefixo, não funcionou.Conforme explicado aqui , se você clonar com o URL SSH , não precisará digitar nome de usuário / senha sempre que pressionar / puxar. Verifique a resposta acima por @manojlds
Mas se você deseja clonar com HTTPS e evitar inserir nome de usuário / senha a cada vez, é possível armazenar credenciais no cache com o comando abaixo:
git config --global credential.helper 'cache --timeout 3600'
onde 3600 (segundos) significa 1 hora, você pode alterá-lo conforme sua exigência.
fonte
manecs-MBP:LocationTracker manec$ git remote -v origin https://[email protected]/Vysh1/locationtracker.git (fetch) origin https://[email protected]/Vysh1/locationtracker.git (push)
Já respondeu acima. Vou resumir as etapas para verificar acima.
executado
git remote -v
no diretório dir. Se a saída mostrar um URL remoto começando comhttps://abc
, você poderá precisar de senha de nome de usuário sempre.Então, para alterar a execução do URL remoto
git remote set-url origin {ssh remote url address starts with mostly [email protected]:}
.Agora execute
git remote -v
para verificar o URL remoto alterado.Consulte: https://help.github.com/articles/changing-a-remote-s-url/
fonte
Olá googlers do futuro.
No MacOS> = High Sierra, a chave SSH não é mais salva no KeyChain por motivos .
O uso de
ssh-add -K
não mais sobrevive também é reiniciado.Aqui estão três soluções possíveis .
Eu usei o primeiro método com sucesso. Eu criei um arquivo chamado
config
em~/.ssh
:fonte
config
arquivo/.ssh
funciona perfeitamente!cd ~/.ssh
+ls
+nano config
(o arquivo já foi criado) + adicione código na resposta de Vaiden. Em seguida, controle X + Y para salvar o arquivo.No caso de solicitação HTTP, também é possível alternativamente colar as credenciais (com senha) diretamente no URL:
Isso poupará tempo para fornecer suas credenciais novamente. Simples modifique seu .git / config (o URL).
fonte
$%
777
acontece com aqueles que sempre definem permissões de pasta para : parar, pensar, pesquisar, entender e, em seguida, fazê-lo corretamente.Nenhuma dessas respostas me ajudou; o problema foi um pouco diferente. Era o ssh que pedia minha senha todas as vezes, antes de enviar a chave. Então, o que eu tive que fazer foi vincular minha senha com este comando:
Ele solicitará sua senha e a armazenará. Essa pode ser a solução que você está procurando, sempre que for solicitada uma senha
Mais informações aqui
OBSERVAÇÃO: usei isso na minha máquina Mac com êxito, mas, como @Rob Kwasowski apontou abaixo, a
K
opção maiúscula é exclusiva do Mac. Se não estiver no mac, você precisará usar letras minúsculask
(o que provavelmente funciona para o mac também, mas ainda não testei).fonte
k
:ssh-add -k ~/.ssh/id_rsa
k
, não maiúscula, pois essas opções diferenciam maiúsculas de minúsculas.-K
é específico para Mac: help.github.com/en/articles/error-ssh-add-illegal-option----kEtapa 1: Instale o git-credential-winstore
https://confluence.atlassian.com/bitbucketserver/permanently-authenticating-with-git-repositories-776639846.html
Etapa 2: git config --global credential.helper 'cache --timeout 3600'
Isso armazenará sua senha por 1 hora
fonte
Step 1
é a favorWindows
e aStep 2
favor,Linux
mas você esqueceu de mencioná-lo corretamente.A seguir, assume-se o acesso à linha de comando via iTerm / Terminal no bitbucket.
Para o MacOS Sierra 10.12.5, meu sistema manifestou um problema equivalente - solicitando minha senha SSH em cada conexão ao bitbucket.
O problema está relacionado às atualizações do OpenSSH no macOS 10.12.2, descritas aqui na Nota técnica TN2449 .
Você pode muito bem personalizar sua solução, mas o seguinte funcionará quando adicionado ao seu arquivo ~ / .ssh / config:
Para obter mais informações sobre as configurações do ssh, consulte as páginas de manual do ssh_config:
Outra coisa: há um bom artigo sobre o superusuário aqui que discute esse problema e várias soluções, dependendo de suas necessidades e configurações.
fonte
Eu clonei o repositório com URL HTTPS em vez de URL SSH, portanto, mesmo depois de adicionar a chave SSH, ele estava me pedindo uma senha no Bash Shell.
I acabou de editar o
./.git/config
arquivo e alterado o valor daurl
variável, simplesmente substituindo ohttps://
parassh://
Por exemplo
Alterado para:
fonte
Pode ser necessário verificar novamente o arquivo de identidades SSH. Você pode estar orientando o BitBucket a procurar uma chave privada diferente / incorreta na chave pública equivalente que você salvou no BitBucket.
Verifique com
tail ~/.ssh/config
- você verá algo semelhante a:Lembre-se de que adicionar identidades adicionais (como trabalho e casa) pode ser feito com o
ssh-add
comando, por exemplo:Depois de confirmar qual chave privada está sendo analisada localmente, você poderá obter seu equivalente público, neste caso:
E cole essa cifra no BitBucket. Seus git pushes agora (desde que você esteja usando o clone SSH como as respostas mencionadas acima) serão permitidos sem uma senha, pois o seu dispositivo é reconhecido como amigável.
Espero que isso ajude a esclarecer para alguém.
fonte
Comigo, embora eu tenha executado o 'git clone ssh: //[email protected]: 7999 / projName / projA.git', ainda estava sendo solicitada a senha para esse novo repositório que clonei, comparando seu .git / config para outros repositórios que funcionam. Ele acabou sendo o URL na seção [remote "origin"], foi definido como o caminho ssh acima para o novo repositório, mas foi definido como https: xxx para o que está funcionando. .
fonte
Eu estava tendo outra estranheza ao fazer login. Me deparei com algo que parecia totalmente idiota, mas funcionava no meu caso. Basta ir ao chaveiro do MacOS. Encontre o ícone de bloqueio de login na barra lateral. Clique para sair e clique para fazer login. Parece idiota, mas resolveu meus problemas. Vale a pena experimentar.
fonte