• Vaatimukset
  • Vaihtoehtoja SSH-avaimet
  • Tarkastelu olemassa SSH-avaimet
  • Tuottaa uusia SSH-avainparin
    • ED25519 SSH-avaimet
    • RSA SSH-avaimet
    • Yhteiset toimet tuottaa SSH-avainparin
    • RSA-avaimet ja OpenSSH-versioista 6,5-7.,8
  • Lisätä SSH-avain GitLab-tili
  • Kaksi-factor Authentication (2FA)
  • Testaus, että kaikki on perustettu oikein
  • Työskentely non-default SSH-avainparin polut
  • Per-arkiston SSH-avaimet
  • Useita tilejä yhdellä GitLab esimerkiksi
  • ottaa Käyttöön näppäimillä
  • Sovellukset
    • Eclipse
  • SSH on GitLab-palvelin
    • Valinnat Microsoft Windows
  • Vianetsintä

Git on hajautettu versio valvontajärjestelmä, joka tarkoittaa, että voit työskennellä paikallisesti.,Lisäksi voit myös jakaa tai ”työntää” muutoksia muihin palvelimiin.GitLab tukee turvallista viestintää GIT: n ja sen palvelimien välillä SSH-näppäimillä.

SSH-protokolla tarjoaa tämän turvallisuus ja voit todentaa theGitLab kauko-palvelin, ilman toimittaa käyttäjätunnus tai salasana joka kerta.

tällä sivulla voit määrittää suojattuja SSH-avaimia, joilla voit auttaa GitLab-arkistojen secureconnections-toimintoja.

  • Jos tarvitset tietoa SSH-avainten luomisesta, aloita SSH-avainten valinnoista.,
  • Jos sinulla on SSH-avaimet omistettu oman GitLab-tilille, saatat olla kiinnostunut työskentelystä ei-oletuksena SSH-avainparin polkuja.
  • Jos sinulla on jo SSH-avainpari, voit mennä siihen, miten voit lisätä SSH-avaimen GitLab-tiliisi.

Vaatimukset

tukea SSH, GitLab vaatii asennuksen OpenSSH-client, whichcomes valmiiksi asennettu GNU/Linux ja macOS, sekä Windows 10.

varmista, että järjestelmäsi sisältää SSH-version 6.5 tai uudemman, koska se ei sisällä nyt epävarmaa MD5-allekirjoitusjärjestelmää., Seuraava komento palauttaa versio ofSSH asennettu järjestelmä:

ssh -V

Kun GitLab ei tue asennus Microsoft Windows,voit määrittää SSH-avaimet määrittää Windows asiakkaana.

SSH-avainten vaihtoehdot

GitLab tukee RSA -, DSA -, ECDSA-ja ED25519-näppäinten käyttöä.

  • GitLab on deprecated DSA keys in GitLab 11.0.
  • kuten käytännön kryptografiassa Go: n kanssa todetaan, DSA: han liittyvät turvallisuuskysymykset koskevat myös ECDSA: ta.,
noteAvailable documentation-dokumentaation mukaan ED25519 on turvallisempi. Jos käytät RSA-avain, US National Institute of Science and Technology-Julkaisussa 800-57 Osa 3 (PDF) suosittelee avaimen koko on vähintään 2048 bittiä.

siksi dokumentaatiossamme keskitytään ED25519-ja RSA-avainten käyttöön.

ylläpitäjät voivat rajoittaa sitä, mitkä avaimet olisi sallittava ja mitkä niiden vähimmäispituudet.

Tarkistaa nykyiset SSH-avaimet

Jos sinulla on olemassa SSH-avaimet, voit käyttää niitä auttaa turvallinen yhteydet GitLabrepositories., Oletuksena SSH-avaimet Linux-ja macOS-järjestelmissä tallennetaan käyttäjän kotihakemiston, .ssh/ alihakemistoon. Seuraavassa taulukossa on kunkin SSH-avaimen algoritmin oletusfileimit:

suosituksissa, KS.SSH-avainten asetukset.

Tuottaa uusia SSH-avainparin

Jos haluat luoda:

  • On ED25519 avain, lukea ED25519 SSH-avaimet.
  • an RSA key, read RSA SSH keys.

ED25519 SSH-avaimet

kirjan Käytännön Salauksen Kanssa Gosuggests, että ED25519 avaimia ovat enemmän turvallinen ja suorituskykyinen kuin RSA-avaimia.,

koska OpenSSH 6.5 esitteli ED25519 SSH-avaimet vuonna 2014, niiden pitäisi olla saatavilla missä tahansa nykyisessä käyttöjärjestelmässä.

Voit luoda ja määrittää ED25519 avain komennolla:

ssh-keygen -t ed25519 -C "<comment>"

-C lippu, jossa on lainattu kommentti, kuten sähköpostiosoite, on vaihtoehtoinen tapa merkitä SSH-avaimet.

näet vastauksen samanlainen:

Generating public/private ed25519 key pair.Enter file in which to save the key (/home/user/.ssh/id_ed25519):

ohjeet, siirry yhteisiä vaiheita.,

RSA SSH-avaimet

Jos käytät RSA-avaimet SSH, YHDYSVALTAIN National Institute of Standards and Technology recommendsthat käytät avain koko on vähintään 2048 bits.By oletuksena ssh-keygen komento luo 1024-bittinen RSA-avain.,

Voit luoda ja määrittää RSA-avaimen komennolla, korvaamalla jos halutaan pienin suositeltu avain koko 2048:

ssh-keygen -t rsa -b 2048 -C "[email protected]"

-C lippu, kanssa lainattu kommentti, kuten sähköpostiosoite, on vaihtoehtoinen tapa merkitä SSH-avaimet.

näet vastauksen samanlainen:

Generating public/private rsa key pair.Enter file in which to save the key (/home/user/.ssh/id_rsa):

ohjeet, siirry yhteisiä vaiheita.

noteIf sinulla on OpenSSH-versio 7.,8 tai alle, harkitse ongelmia liittyy koodaus.

Yleiset vaiheet tuottaa SSH-avainparin

Olitpa luoda ED25519 tai RSA-avain, olet alkoi ssh-keygen komento.Tässä vaiheessa, voit nähdä seuraavan viestin komentorivi (ED25519 avaimia):

Generating public/private ed25519 key pair.Enter file in which to save the key (/home/user/.ssh/id_ed25519):

Jos sinulla ei vielä ole SSH-avainpari ja ole tuottaa käyttöön avain,hyväksyä ehdotetun tiedosto ja hakemisto. SSH-asiakkaasi käyttää tuloksena syntyvää SSH-avainparia ilman lisäasetuksia.,

Vaihtoehtoisesti voit tallentaa uuden SSH-avainparin eri paikassa.Voit määrittää valitsemasi kansion ja tiedostonimen.Voit myös omistaa että SSH avainpari tietylle isäntä.

Kun olet määrittänyt tiedoston tallentaa SSH-avain, voit asettaa upa tunnuslause oman SSH-avain:

Enter passphrase (empty for no passphrase):Enter same passphrase again:

Jos onnistuu, näet vahvistuksen, jossa ssh-keygen commandsaved tunnistaminen ja yksityinen avain.,

tarvittaessa, voit päivittää salasana komennolla:

ssh-keygen -p -f /path/to/ssh_key

RSA-avaimet ja OpenSSH alkaen versiot 6.5 7,8

Ennen kuin OpenSSH-7.8, default julkisen avaimen sormenjälki RSA-avaimet perustuu MD5,ja on siksi epävarma.

Jos versio OpenSSH välissä versiosta 6.5 versioon 7.8 (inclusive),ajaa ssh-keygen, jossa -o mahdollisuus tallentaa yksityisiä SSH-avaimia enemmän secureOpenSSH muodossa.,

Jos sinulla on jo RSA SSH-avainparin käyttää GitLab, harkitse päivittämistä itto käyttää enemmän turvallisen salasanan salaus muodossa. Voit tehdä niin komennolla:

ssh-keygen -o -f ~/.ssh/id_rsa

Vaihtoehtoisesti voit luoda uuden RSA-avaimen kanssa enemmän turvallinen salaus muodossa kanssa seuraava komento:

ssh-keygen -o -t rsa -b 4096 -C "[email protected]"
noteAs totesi ssh-keygen man-sivulta, ED25519 jo salaa avaimet enemmän secureOpenSSH muodossa.,

lisäämällä SSH-avaimen GitLab-tiliisi

nyt voit kopioida GitLab-tilillesi luomasi SSH-avaimen. Voit tehdä niin, toimi seuraavasti:

  1. Kopioi julkinen SSH-avain sijainti, joka tallentaa tiedot tekstimuodossa.,Seuraavat vaihtoehdot tallentaa tietoa ED25519 avaimia clipboardfor totesi käyttöjärjestelmä:

    macOS:

    pbcopy < ~/.ssh/id_ed25519.pub

    Linux (vaatii xclip paketti):

    xclip -sel clip < ~/.ssh/id_ed25519.pub

    Git Bash Windows:

    cat ~/.ssh/id_ed25519.pub | clip

    Jos käytät RSA avain varajäsen vastaavasti.

  2. Siirry tai paikallinen GitLab instance URL ja kirjaudu sisään.,
  3. Valitse avatar oikeassa yläkulmassa ja valitse Asetukset
  4. Klikkaa SSH-Avaimet.
  5. Liitä Avaintekstilaatikkoon kopioimasi julkinen avain.
  6. varmista, että avaimesi sisältää Nimikkotekstilaatikossa kuvailevan nimen, kuten Work Laptop orHome Workstationin.
  7. sisältää (valinnaisen) päättymispäivän avaimen kohtaan ”päättyy kohdassa”. (Esiteltiin Gitlabissa 12.9.)
  8. klikkaa Lisää-näppäintä.

SSH-avaimet, jotka ovat ”vanhentuneet” tätä menettelyä käyttäen, ovat voimassa Gitlabin työnkuluissa.,Koska GitLab-määritetty viimeinen käyttöpäivä ei sisälly SSH-avaimeen,voit silti viedä julkisia SSH-avaimia tarpeen mukaan.

huomjos voit manuaalisesti kopioida julkinen SSH-avain varmista, että olet kopioinut entirekey alkaen ssh-ed25519 (tai ssh-rsa) ja päättyy sähköpostiosoitteesi.

Kaksi-factor Authentication (2FA)

Voit määrittää kaksi-factor authentication (2FA) forGit SSH.,

Testaus, että kaikki on perustettu oikein

Voit testata, onko SSH-avain on lisätty oikein, suorita followingcommand oman terminaalin (korvaa gitlab.com domain sinun GitLab esimerkiksi):

ensimmäinen kerta, kun muodostat yhteyden GitLab kautta SSH, sinun pitäisi tarkistaa theauthenticity ja GitLab host, että olet yhteyden.Esimerkiksi, kun liität GitLab.com vastaa yes lisää GitLab.,com tothe luettelo trusted isännät:

The authenticity of host 'gitlab.com (35.231.145.151)' can't be established.ECDSA key fingerprint is SHA256:HbW3g8zUjNSksFbqTiUWPWg2Bq1x8xdGUrliXFzSnUw.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added 'gitlab.com' (ECDSA) to the list of known hosts.
noteFor GitLab.com, ota theSSH host avaimet sormenjäljet,jakso varmista, että muodostat yhteyden oikeaan palvelimeen. Esimerkiksi, voit nähdä ECDSA avain sormenjälki yllä linkitetyssä osiossa.

kun on lisätty tunnettujen isäntien luetteloon, kannattaa vahvistaa GitLab-isännän aitous, jälleen kerran. Suorita edellä commandagain, ja sinun pitäisi saada Tervetuloa GitLab, @username! viesti.,

Jos tervetuloa-viesti ei näy, voit vianmääritys ongelma käynnissä sshverbose tilassa komennolla:

ssh -Tvvv [email protected]

Työskentely non-default SSH-avainparin polut

Jos olet käyttänyt ei-default-tiedoston polku oman GitLab SSH-avainpari,määritä SSH client osoittamaan oman GitLab yksityinen SSH-avain.

Voit tehdä nämä muutokset, suorita seuraavat komennot:

eval $(ssh-agent -s)ssh-add <path to private SSH key>

Nyt tallentaa nämä asetukset ~/.ssh/config tiedosto., Kaksi examplesfor SSH-avaimet omistettu GitLab näkyvät täällä:

# GitLab.comHost gitlab.com Preferredauthentications publickey IdentityFile ~/.ssh/gitlab_com_rsa# Private GitLab instanceHost gitlab.company.com Preferredauthentications publickey IdentityFile ~/.ssh/example_com_rsa

Julkiset SSH-avaimet täytyy olla ainutlaatuinen GitLab, koska ne sitovat tilillesi.SSH-avaimesi on ainoa tunniste,joka sinulla on, kun työnnät koodia SSH: n kautta, siksi sen on yksilöllisesti kartoitettava yhdelle käyttäjälle.,

Per-arkiston SSH-avaimet

Jos haluat käyttää eri avaimia, riippuen repository olet työtä, voit antaa seuraava komento kun sisällä arkistosta:

git config core.sshCommand "ssh -o IdentitiesOnly=yes -i ~/.ssh/private-key-filename-for-this-repository -F /dev/null"

Tämä ei käytä SSH-Agent ja vaatii vähintään Git 2.10.

Useita tilejä yhdellä GitLab esimerkiksi

per-arkiston menetelmä toimii myös usingmultiple tilejä yhden GitLab esimerkiksi.

Vaihtoehtoisesti, on mahdollista suoraan määrittää aliaksia isännät~.ssh/config., SSH ja laajennus, Git ei kirjaudu sisään, jos siellä isan IdentityFile set ulkopuolella Host lohko .ssh/config. Tämän esitteen miten SSH kokoaa IdentityFile merkinnät ja ei ole muuttunut sinne IdentitiesOnly ja yes. IdentityFile merkintöjen tulisi viitata SSH-avainparin yksityiseen avaimeen.

noteThe esimerkiksi Host aliakset määritellään user_1.gitlab.com jauser_2.gitlab.com tehokkuutta ja avoimuutta., Advanced configurationsare vaikeampaa ylläpitää; käyttämällä tätä tyyppinen alias on helpompi ymmärtää, kun käytetään muita välineitä, kuten git remote sub-komentoja. SSHwould ymmärtää minkä tahansa merkkijonon Host alias näin Tanuki1 ja Tanuki2huolimatta antaa hyvin vähän yhteydessä, missä ne kohta, olisi myös työtä.,

Kloonaus gitlab repository yleensä näyttää tältä:

git clone [email protected]:gitlab-org/gitlab.git

kloonata sitä user_1, vaihda gitlab.com kanssa SSH-alias user_1.gitlab.com:

git clone git@<user_1.gitlab.com>:gitlab-org/gitlab.git

Korjaa aiemmin kloonattu repository käyttäen git remote komento.

esimerkissä oletetaan, kauko arkistossa on aliasing kuten origin.,

git remote set-url origin git@<user_1.gitlab.com>:gitlab-org/gitlab.git

ottaa Käyttöön näppäimillä

Lue asiakirjat Käyttöön Avaimet.

Sovellukset

Eclipse

Jos käytät EGit, voit lisätä SSH-avain Eclipse.

SSH on GitLab-palvelin

GitLab integroituu järjestelmä-asennettu SSH-daemon, joissa käyttäjä(yleensä nimetty git), jonka kautta kaikki pyynnöt käsitellään. Usersconnecting, että GitLab-palvelin, SSH tunnistetaan niiden SSH-avain insteadof heidän käyttäjätunnus.,

SSH-asiakastoiminnot suoritetaan GitLab-palvelimella thisuserina. Vaikka se on mahdollista muokata SSH-kokoonpano tämän käyttäjän,esim., tarjoavat yksityinen SSH-avain todentaa näitä pyyntöjä, tämä practiceis ei tueta, ja on suositeltavaa, koska se esittelee significantsecurity riskejä.

GitLab tarkistaa prosessi sisältää tarkista tämä ehto, ja ohjaa sinut tämän jakson, jos palvelin on määritetty, kuten tämä, esimerkiksi:

Poista custom configuration niin pian kuin pystyt., Näitä kustomaatioita ei nimenomaisesti tueta, ja ne voivat lopettaa toimintansa milloin tahansa.

Valinnat Microsoft Windows

Jos käytössäsi on Windows 10, Windows Subsystem for Linux (WSL), ja sen uusin WSL 2-versio,tuki asennus eri Linux-jakeluissa, jotka sisältävät Git ja SSH.

nykyisiin Windows-versioihin voi asentaa myös Git-ja SSH-asiakkaat withGit for Windows-käyttöjärjestelmään.,

Vaihtoehtoisia työkaluja ovat:

  • Cygwin
  • PuttyGen

Vianetsintä

Jos Git klooni olet kysytään salasanaa, kuten [email protected]'s password:jotain on vialla SSH-asetukset.,

  • Varmista, että olet luonut SSH-avainparin oikein ja lisätään julkisen SSHkey oman GitLab-profiili
  • Kokeile manuaalisesti rekisteröiminen yksityinen SSH-avain käyttäen ssh-agent kuten documentedearlier tässä asiakirjassa
  • Kokeile debug-yhteys käynnissä ssh -Tv [email protected](korvaa example.com oman GitLab domain)