in Informatica, Varie

Configurare Git Extensions con ssh

E’ consigliabile configurare l’accesso ai repository Git remoti utilizzando ssh. In questo modo il riconscimento tra client (Git Extensions in questo caso) ed il server avviene tramite l’utilizzo di una coppia di chiavi: una chiave privata ed una chiave pubblica. In particolare, il client utilizzerà la chiave privata per ottenere l’accesso, mentre la chiave pubblica verrà caricata all’interno del portale remoto (es. BitBucket), per verificarne la corrispondenza.

Git Extensions permette di utilizzare ssh tramite Putty, OpenSsh oppure un client differente.

La configurazione del client da utilizzare avviene durante la fase di installazione ma può essere modificata successivamente nei Settings dell’applicazione alla voce SSH:

In questo caso, l’utilizzo di ssh viene effettuato utilizzando il client Putty, scaricabile a questo link.

Generazione della chiave pubblica e della chiave privata

Una volta installato Putty è necessario procedere con la generazione della chiave pubblica e della chiave privata. Nel menu dell’applicazione alla voce Tools è necessario entrare all’interno della sezione Putty e procedere con Generate or import key:

A questo punto verrà visualizzata la finestra Putty Key Generator, che consente di creare la chiave pubblica e la chiave privata.

A questo punto è necessario generare la chiave pubblica e la chiave privata utilizzando il pulsante Generate. Durante la fase di generazione verrà richiesto di muovere più volte il mouse per fornire l’entropia necessaria e rendere randomiche le chiavi generate. Una volta generate è necessario salvare la chiave pubblica e la chiave privata utilizzando i relativi pulsanti.

Il processo di autenticazione viene garantito mediante l’autentication agent che viene eseguito in background.

A questo punto non rimane altro che copiare la chiave pubblica generata ed inserirla all’interno della sezione dedicata SSH all’interno del portale Git. Nell’esempio la chiave viene importata all’interno di GitHub:

Al termine è necessario associare la chiave privata al repository locale. Nel caso in cui il repository debba essere ancora clonato è necessario fornire la chiave privata direttamente durante la clonazione. E’ necessario che il clone venga eseguito dal link ssh e non https. Nel caso in cui il repository sia già presente in locale è necessario utilizzare il menu Repository -> Remote Repositories e caricare la chiave private da utilizzare:

caricandola (solo la prima volta) all’interno della sezione Putty SSH. E’ consigliato utilizzare il pulsante Test Connection per verificare che tutto sia stato configurato correttamente. Nota importante: se si stata accedendo al repository tramite https è necessari modificare l’url indicando quello relativo ad ssh.