Imposta le chiavi SSH create da PuTTY in GitLab

Oct 06 2020

Ho generato una chiave pubblica e una privata utilizzando PuTTYgen e aggiunto la chiave pubblica al mio account GitLab, ma quando provo a clonare il repository, vuole ancora una password.

Ho letto le seguenti istruzioni da questo sito

  1. Installa Putty e le relative utilità

  2. Impostare la variabile di ambiente di sistema in Windows (Pannello di controllo \ Sistema e sicurezza \ Sistema -> e fare clic su "Impostazioni di sistema avanzate" nel riquadro di sinistra. Quindi fare clic su "Variabili di ambiente") GIT_SSH =% path_to_plink.exe% (Nota plink. exe va ovunque hai installato Putty)

  3. Genera una chiave ssh usando puttygen.exe (ssh2-rsa, 4096, comment = GitLab e imposta una passphrase)

  4. Aggiungi la chiave a pageant.exe e la chiave pubblica al tuo profilo GitLab

  5. Assicurati di avviare una nuova shell dei comandi in modo che git riconosca il valore GIT_SSH

  6. Prova questi due comandi per verificare prima la connessione. Questo dovrebbe darti una finestra popup che autentica la connessione

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

Utilizzo:

  1. Avvia pagent.exe dalla cartella Putty
  2. Aggiungi la chiave a pageant.exe

Continuo a non capire il passaggio 5 e nel passaggio 6 non vedo alcun comando della shell per eseguire il test.

Qualcuno può aiutare?

Aggiornare:

Il problema era che non ho riavviato il mio cmd. Ma ora ricevo questo messaggio: la chiave host del server non è memorizzata nella cache del registro. Non hai alcuna garanzia che il server sia il computer che pensi che sia. L'impronta digitale della chiave ssh-ed25519 del server è: ssh-ed25519 255 d7: 0d: ca: f2: c1: 01: 46: 80: 68: 4c: 5d: e6: d4: 52: f9: 16 Se ti fidi di questo host, inserisci "y" per aggiungere la chiave alla cache di PuTTY e continuare la connessione. Se vuoi continuare a connetterti una sola volta, senza aggiungere la chiave alla cache, inserisci "n". Se non ti fidi di questo host, premi Invio per abbandonare la connessione. Memorizzare la chiave nella cache? (sì / no)

E non mi permette di digitare nulla lì.

Risposte

1 VonC Oct 06 2020 at 11:31

Assicurati di avviare una nuova shell dei comandi in modo che git riconosca il valore GIT_SSH

Digita git bash, quindi " set|grep GIT_SSH"

Se il risultato è vuoto, la sessione CMD in cui hai aperto la sessione non ha ereditato la variabile di ambiente dell'utente Windows. Apri un nuovo CMD.

Ma non consiglierei di usare Putty. Git per Windows viene fornito con openssh, e questo dovrebbe essere sufficiente, in una sessione git bash

ssh-keygen -t rsa 
<enter a passphrase>

Vedi di più su GitHub (che si applicherà anche per GitLab) " Generazione di una nuova chiave SSH e aggiunta a ssh-agent "

L' OP Petar Yakov segnala di dover registrare la password del proprio account GitLab nel Credential Manager.
Quindi l'accesso SSH funziona.