Committer multipli su stesso repository e macchina con lo spedizioniere

1

Ho una macchina remota in cui più sviluppatori lavorano sullo stesso repository. Utilizziamo le chiavi gitolite e SSH per gestire l'accesso git.

Per ora eseguiamo il codice sulle macchine locali, eseguiamo commit, push, pull da remoto e test. Funziona, ma richiede tempo e fastidio.

Se modifichiamo codice sul repository remoto, possiamo eseguire il commit e push, l'agente di inoltro fornisce i diritti di accesso corretti al repository, ma il nome e l'email sono sempre configurati sul server.

Provato a impostare le variabili di ambiente:

GIT_COMMITTER_NAME=name
[email protected]

Ma utilizza ancora i dati di git config. Se non li seleziono, git si lamenta di ciò durante il commit.

C'è un modo per configurare email e nome in modo indipendente per ogni utente, ad es. attraverso le chiavi SSH passate dall'agente di inoltro?

Una brutta soluzione è montare localmente la directory remota e poi eseguire il commit sulla macchina locale. Cattivo e impiega anni.

    
posta kszonek 29.01.2016 - 18:47
fonte

1 risposta

0

L'inoltro di agenti SSH è un potenziale rischio per la sicurezza:

The problem is that while you're connected to host A, a forwarding socket will be set up so that the SSH client on host A can connect to the ssh-agent on your workstation to perform authentication on its behalf. This means that anyone with sufficient permission on host A will be able to use that socket to connect to and use your local ssh-agent. It could be the root user or anyone else who managed to compromise host A. The result is that the user would be able to impersonate you to any host as long as you're connected to host A.

In ogni caso, se è necessario risolvere questo problema, prima controlla se la chiave è elencata:

$ ssh-add -l

Quindi, se non vedi la tua chiave elencata, aggiungila con

ssh-add ~/.ssh/identity

E aggiungi la chiave pubblica a gitolite:

On the server you have appended this file to ~/.ssh/authorized_keys. Or you ran something, like the gitolite setup step during a gitolite install, which should have done that for you.

Riferimenti

risposta data 23.05.2018 - 23:54
fonte

Leggi altre domande sui tag