"Distribuisci chiavi" in GitHub consente al tuo server di connettersi direttamente al tuo repository GitHub. Quando il tuo server è connesso, puoi inviare build direttamente dal tuo repository al tuo server, il che può ridurre il tuo lavoro. Se il tuo server ha bisogno di accedere a più repository, puoi creare un utente macchina per gestire l'accesso.
Passi
Parte 1 di 3: generazione di nuove chiavi
Passaggio 1. Aprire il programma terminale sul computer
Il programma terminale sul tuo computer ti consente di accedere in remoto al tuo server. Se stai utilizzando un computer Linux o Mac, utilizzerai il programma Terminale integrato. Se stai usando Windows, dovrai installare un programma come Cygwin o GitBash.
- Linux: premi Ctrl+Alt+T o cerca "terminale".
- Mac: puoi trovare il programma Terminale nella cartella Utilità.
- Windows: puoi scaricare Cygwin da cygwin.com o GitBash da git-scm.com/downloads.
Passaggio 2. Accedi al tuo server utilizzando il tuo programma terminale
Genererai la chiave di distribuzione sul tuo server in modo che possa accedere al tuo repository GitHub. Per fare ciò, dovrai accedere al tuo server, in remoto tramite il tuo terminale o localmente sul server.
Nel tuo programma terminale, digita ssh nomeutente@nomehost per accedere. Inserisci la tua password se richiesta
Passaggio 3. Immettere il comando per generare la chiave SSH
Il seguente comando creerà una nuova chiave con il tuo indirizzo email GitHub come etichetta:
- ssh-keygen -t rsa -b 4096 -C "[email protected]"
- Una chiave SSH è una coppia di chiavi crittografate che autentica la tua identità. In questo caso, assegnerai la chiave al tuo repository GitHub, permettendogli di identificare il tuo server.
Passaggio 4. Premere
↵ Invio/⏎ Ritorno quando viene richiesto di selezionare una posizione.
Ciò salverà la chiave nella posizione predefinita, che è la directory.ssh nella directory utente.
Passaggio 5. Creare una passphrase
Ciò aggiunge un ulteriore livello di sicurezza alla tua chiave, poiché gli utenti sconosciuti dovranno inserire la passphrase prima che la chiave funzioni.
Ti verrà chiesto di confermare la passphrase durante la sua creazione
Passaggio 6. Copia il contenuto della chiave SSH negli appunti
Una volta creata la chiave, dovrai aggiungerla al tuo repository. Per fare ciò, dovrai copiare il contenuto della chiave. Il seguente comando copierà il contenuto della chiave negli appunti:
- Linux - xclip -sel clip < ~/.ssh/id_rsa.pub. Potrebbe essere necessario eseguire prima sudo apt-get install xclip.
- Windows - clip < ~/.ssh/id_rsa.pub
- Mac - pbcopy < ~/.ssh/id_rsa.pub
Parte 2 di 3: aggiunta della chiave al tuo repository
Passaggio 1. Accedi al sito Web GitHub
Assicurati di accedere con un account in grado di accedere al repository.
Passaggio 2. Fai clic sull'immagine del tuo profilo nell'angolo in alto a destra e seleziona "Il tuo profilo
" Questo aprirà la pagina del tuo profilo GitHub.
Passaggio 3. Fare clic sulla scheda "Repository"
Questo mostrerà tutti i tuoi repository.
Passaggio 4. Selezionare il repository a cui si desidera aggiungere la chiave
Ciò consentirà al tuo server di accedere al repository per distribuire automaticamente le build.
Passaggio 5. Fare clic sulla scheda "Impostazioni" nella parte superiore dello schermo
Questo aprirà le impostazioni del tuo repository.
Passaggio 6. Fare clic sul pulsante "Distribuisci chiavi" nel menu a sinistra
Verranno visualizzate le chiavi di distribuzione attualmente assegnate al repository.
Passaggio 7. Fare clic sul pulsante "Aggiungi chiave di distribuzione"
Apparirà un campo di testo per la chiave.
Passaggio 8. Incolla la chiave di distribuzione copiata nel campo
Fare clic sul campo e premere ⌘ Command/Ctrl+V per incollare la chiave di distribuzione copiata nel campo.
Se vuoi che il server abbia accesso in scrittura al repository, seleziona la casella "Consenti accesso in scrittura"
Passaggio 9. Fare clic su "Aggiungi chiave" per aggiungere la chiave di distribuzione
Ciò consentirà al tuo server di accedere al repository e distribuire build da esso.
Parte 3 di 3: creazione di un utente macchina
Passaggio 1. Creare un account GitHub dedicato per l'utente della macchina
Un "utente macchina" è un utente automatizzato che può accedere a più repository. Questo è utile se il tuo server ha bisogno di accedere a più repository, poiché le chiavi di distribuzione garantiscono l'accesso solo a un singolo repository.
Puoi creare un nuovo utente facendo clic sul pulsante "Iscriviti" nella home page di GitHub e seguendo le istruzioni
Passaggio 2. Genera una chiave SSH sul tuo server
Segui i passaggi nella prima sezione per generare una chiave sul tuo server e copiarla negli appunti.
Passaggio 3. Accedi al sito Web GitHub con il nuovo account utente della macchina
Assegnerai la chiave appena creata a questo utente.
Passaggio 4. Fare clic sull'immagine del profilo dell'utente della macchina e selezionare "Impostazioni
" Questo aprirà le impostazioni dell'account per l'utente della macchina.
Passaggio 5. Fare clic sull'opzione "Chiavi SSH e GPG" nel menu a sinistra
Questo visualizzerà le chiavi attualmente assegnate all'utente.
Passaggio 6. Fare clic sul pulsante "Nuova chiave SSH"
Questo ti permetterà di inserire la chiave SSH.
Passaggio 7. Incolla la chiave e fai clic su "Aggiungi chiave SSH
" Questo aggiungerà la chiave SSH al profilo dell'utente della macchina, permettendogli di accedere al tuo server.
Passaggio 8. Aprire il primo repository a cui si desidera concedere l'accesso all'utente della macchina
Puoi trovare i tuoi repository nella scheda "Repository" nella pagina del tuo profilo.
Passaggio 9. Fare clic sulla scheda "Impostazioni" nella pagina del repository
Questo mostrerà le impostazioni del repository.
Passaggio 10. Fare clic sull'opzione "Collaboratori" nel menu a sinistra
Ciò ti consentirà di aggiungere collaboratori al repository. Aggiungendo l'utente della tua macchina come collaboratore, sarà in grado di inviare build dal tuo repository al tuo server.
Passaggio 11. Immettere il nome dell'utente della macchina e fare clic su "Aggiungi collaboratore
" L'utente della macchina avrà accesso in lettura/scrittura al repository.