Gerei um par de chaves SSH sem senha e adicionei a chave pública ao GitHub.
Conexão com
user@dev:/var/www/project# ssh -T [email protected]
Hi User! You've successfully authenticated, but GitHub does not provide shell access.
foi bem-sucedido e quando eu renomeio a chave, ela falha.
Mas quando quero enviar minhas alterações, ele ainda solicita minha combinação de nome de usuário e senha.
Existe uma maneira de enviar sem uma senha?
https://github...
em seus controles remotos. Eles também devem seguir ogit@github...
formato.Respostas:
Se estiver solicitando um nome de usuário e senha, o controle remoto de origem estará apontando para o URL HTTPS, em vez do URL SSH.
Mude para ssh.
Por exemplo, um projeto do GitHub como o Git terá um URL HTTPS:
E o SSH:
Você pode fazer:
para alterar o URL.
fonte
git remote set-url origin $(git remote show origin | grep "Fetch URL" | sed 's/ *Fetch URL: //' | sed 's/https:\/\/github.com\//[email protected]:/')
Além disso, para gists, parece que você deve deixar de fora o nome de usuário
fonte
Caso você esteja realmente usando a URL SSH, mas ainda seja solicitado o nome de usuário e a senha ao pressionar git:
Você deve tentar solucionar problemas com:
Abaixo está um pedaço de amostra de saída:
Na verdade, eu já adicionei a chave pública ao GitHub antes e também tenho a chave privada localmente. No entanto, minha chave privada tem um nome diferente chamado
/c/Users/Yuci/.ssh/github_rsa
.De acordo com o exemplo de saída, o Git está tentando
/c/Users/Yuci/.ssh/id_rsa
, o que eu não tenho. Portanto, eu poderia simplesmente copiargithub_rsa
paraid_rsa
o mesmo diretório.Agora, quando corro
ssh -vT [email protected]
novamente, tenho:E agora eu posso enviar para o GitHub sem ser solicitado o nome de usuário e a senha :-)
fonte
Você precisa usar a versão SSH , não HTTPS . Ao clonar de um repositório, copie o link com a versão SSH , porque o SSH é fácil de usar e resolve todos os problemas de acesso. Você pode definir o acesso para cada SSH inserido na sua conta (como push, pull, clone, etc ...)
Aqui está um link, que diz por que precisamos do SSH e como usá-lo: passo a passo
Git gerar chaves SSH
fonte
Como de costume, crie uma chave SSH e cole a chave pública no GitHub. Adicione a chave privada ao ssh-agent. (Presumo que foi isso que você fez.)
Para verificar se tudo está correto, use
ssh -T [email protected]
Em seguida, não esqueça de modificar o ponto remoto da seguinte maneira:
fonte
Usando a linha de comando:
Digite
ls -al ~/.ssh
para ver se as chaves SSH existentes estão presentes.No terminal é mostrado: Nenhum diretório existe
Em seguida, gere uma nova chave SSH
Passo 1.
passo 2.
etapa 3.
fonte