- 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.,
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.
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]"
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:
-
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.
- Siirry tai paikallinen GitLab instance URL ja kirjaudu sisään.,
- Valitse avatar oikeassa yläkulmassa ja valitse Asetukset
- Klikkaa SSH-Avaimet.
- Liitä Avaintekstilaatikkoon kopioimasi julkinen avain.
- varmista, että avaimesi sisältää Nimikkotekstilaatikossa kuvailevan nimen, kuten Work Laptop orHome Workstationin.
- sisältää (valinnaisen) päättymispäivän avaimen kohtaan ”päättyy kohdassa”. (Esiteltiin Gitlabissa 12.9.)
- 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.
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):
ssh -T [email protected]
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.
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ä ssh
verbose 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.
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 Tanuki2
huolimatta 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]
(korvaaexample.com
oman GitLab domain)