Configure as chaves SSH criadas pelo PuTTY no GitLab

Oct 06 2020

Eu gerei uma chave pública e uma privada usando PuTTYgen e adicionei a chave pública à minha conta GitLab, mas quando tento clonar o repositório, ele ainda quer uma senha.

Eu li as seguintes instruções deste site

  1. Instale o Putty e utilitários relacionados

  2. Defina a variável de ambiente do sistema no Windows (Painel de Controle \ Sistema e Segurança \ Sistema -> e clique em "Configurações avançadas do sistema" no painel esquerdo. Em seguida, clique em "Variáveis ​​de ambiente") GIT_SSH =% path_to_plink.exe% (Nota plink. exe vai para onde quer que você tenha instalado o Putty)

  3. Gere uma chave ssh usando puttygen.exe (ssh2-rsa, 4096, comentário = GitLab e defina uma senha longa)

  4. Adicione a chave ao pageant.exe e a chave pública ao seu perfil GitLab

  5. Certifique-se de iniciar um novo shell de comando para que o git reconheça o valor GIT_SSH

  6. Tente estes dois comandos para verificar a conexão primeiro. Isso deve dar a você uma janela pop-up que autentica a conexão

  7. definir Git putty [email protected]:% user% /% repo.git%

Uso:

  1. Inicie o pagent.exe da pasta Putty
  2. Adicionar chave a pageant.exe

Ainda não entendi a etapa 5 e na etapa 6 não vejo comandos shell para fazer o teste.

Alguém pode ajudar?

Atualizar:

O problema é que não reiniciei meu cmd. Mas agora recebo esta mensagem: A chave de host do servidor não está armazenada em cache no registro. Você não tem garantia de que o servidor seja o computador que você pensa que é. A impressão digital da chave ssh-ed25519 do servidor é: ssh-ed25519 255 d7: 0d: ca: f2: c1: 01: 46: 80: 68: 4c: 5d: e6: d4: 52: f9: 16 Se você confiar neste host, digite "y" para adicionar a chave ao cache do PuTTY e continue a conexão. Se você quiser continuar se conectando apenas uma vez, sem adicionar a chave ao cache, digite "n". Se você não confiar neste host, pressione Retornar para abandonar a conexão. Armazenar chave no cache? (s / n)

E não me deixa digitar nada lá.

Respostas

1 VonC Oct 06 2020 at 11:31

Certifique-se de iniciar um novo shell de comando para que o git reconheça o valor GIT_SSH

Digite e git bash, em seguida, " set|grep GIT_SSH"

Se o resultado estiver vazio, a sessão CMD na qual você abriu a sessão não herdou a variável de ambiente do usuário do Windows. Abra um novo CMD.

Mas eu não recomendaria usar Putty. Git para Windows vem com o openssh, e isso deve ser o suficiente, em uma sessão git bash

ssh-keygen -t rsa 
<enter a passphrase>

Veja mais no GitHub (que também se aplica ao GitLab) " Gerando uma nova chave SSH e adicionando-a ao agente ssh "

O OP Petar Yakov relata ter que registrar a senha de sua conta GitLab no Gerenciador de Credenciais.
Então o acesso SSH funciona.