- követelmények
- SSH keys
- meglévő SSH keys
- Új SSH kulcspár létrehozása
- ED25519 SSH keys
- RSA SSH keys
- közös lépések egy SSH kulcspár létrehozásához
- RSA kulcsok és OpenSSH verziók 6.5 hogy 7.,8
- Hozzátéve, egy SSH kulcs a GitLab fiók
- a kéttényezős Hitelesítést (2FA)
- a Vizsgálat minden van beállítva
- Dolgozik, nem alapértelmezett SSH kulcs pár utak
- Per-adattár SSH kulcsok
- Több fiókot egyetlen GitLab például
- Telepíteni kulcs
- alkalm. – ok
- Napfogyatkozás
- SSH a GitLab server
- Opciók Microsoft Windows
- Hibaelhárítás
a Git egy elosztott verziókezelő rendszer, ami azt jelenti, hogy helyben munkát.,Ezenkívül megoszthatja vagy” megnyomhatja ” a módosításokat más szerverekre is.A GitLab támogatja a biztonságos kommunikációt a GIT és szerverei között SSH billentyűkkel.
az SSH protokoll biztosítja ezt a biztonságot, lehetővé teszi a theGitLab távoli kiszolgálóra történő hitelesítést anélkül, hogy minden alkalommal megadná felhasználónevét vagy jelszavát.
Ez az oldal segíthet a biztonságos SSH kulcsok konfigurálásában, amelyek segítségével segítheti a secureconnections-t a GitLab tárolókba.
- Ha információra van szüksége az SSH kulcsok létrehozásával kapcsolatban, kezdje az SSH kulcsok lehetőségeivel.,
- Ha van SSH kulcs a GitLab-fiókjához, akkor érdekelheti a NEM alapértelmezett SSH kulcspár-útvonalakkal való együttműködés.
- ha már van SSH kulcspárja, akkor keresse meg, hogyan adhat hozzá SSH kulcsot a GitLab-fiókjához.
követelmények
az SSH támogatásához a GitLab megköveteli az OpenSSH kliens telepítését, amely előtelepítésre kerül a GNU/Linux és macOS rendszeren, valamint a Windows 10 rendszeren.
győződjön meg róla, hogy a rendszer tartalmazza az SSH 6.5-ös vagy újabb verzióját, mivel ez kizárja a most bizonytalan MD5 aláírási sémát., A következő parancs a rendszerére telepített ofSSH verzióját adja vissza:
ssh -V
míg a GitLab nem támogatja a Microsoft Windows telepítését,beállíthat SSH kulcsokat a Windows kliens beállításához.
SSH kulcsok beállításai
GitLab támogatja az RSA, DSA, ECDSA és ED25519 billentyűk használatát.
- GitLab elavult DSA kulcsok GitLab 11.0.
- amint azt a Go-val végzett gyakorlati kriptográfia is megjegyzi, a DSA-val kapcsolatos biztonsági kérdések az ECDSA-ra is vonatkoznak.,
ezért dokumentációnk az ED25519 és az RSA kulcsok használatára összpontosít.
A rendszergazdák korlátozhatják, hogy mely kulcsokat engedélyezzék, valamint azok minimális hosszát.
tekintse át a meglévő SSH kulcsokat
ha meglévő SSH kulcsai vannak, akkor használhatja őket a GitLabrepositories-szal való biztonságos kapcsolatok elősegítésére., Alapértelmezés szerint az SSH kulcsok Linux és macOS rendszereken a felhasználó saját könyvtárában,a .ssh/
alkönyvtárban kerülnek tárolásra. Az alábbi táblázat tartalmazza az egyes SSH kulcsalgoritmusok alapértelmezett fájlneveit:
az ajánlásokhoz lásd az SSH billentyűk beállításait.
Új SSH kulcspár létrehozása
Ha létre szeretne hozni:
- ED25519 kulcs, olvassa el az ED25519 SSH kulcsokat.
- egy RSA kulcs, olvassa el az RSA SSH kulcsokat.
ED25519 SSH keys
the book Practical Cryptography With Gosuggests that ED25519 keys are more secure and performant than RSA keys.,
mivel az OpenSSH 6.5 bevezette az ED25519 SSH kulcsokat 2014-ben, minden currentoperating rendszeren elérhetőnek kell lenniük.
létrehozhat és konfigurálhat egy ED25519 kulcsot a következő paranccsal:
ssh-keygen -t ed25519 -C "<comment>"
a-C
zászló, egy idézett megjegyzéssel, például e-mail címmel, opcionális módja az SSH kulcsok címkézésének.
hasonló választ fog látni:
Generating public/private ed25519 key pair.Enter file in which to save the key (/home/user/.ssh/id_ed25519):
útmutatásért folytassa a közös lépéseket.,
RSA SSH keys
ha RSA kulcsokat használ az SSH-hez, az amerikai Nemzeti Szabványügyi és Technológiai Intézet azt javasolja, hogy legalább 2048-as kulcsméretet használjon bits.By alapértelmezés szerint a ssh-keygen
parancs 1024 bites RSA kulcsot hoz létre.,
az alábbi paranccsal létrehozhat és konfigurálhat egy RSA kulcsot, ha szükséges, helyettesítve a 2048
:
ssh-keygen -t rsa -b 2048 -C "[email protected]"
-C
a zászló, egy idézett megjegyzéssel, például e-mail címmel, opcionális módja az SSH kulcsok címkézésének.
hasonló választ fog látni:
Generating public/private rsa key pair.Enter file in which to save the key (/home/user/.ssh/id_rsa):
útmutatásért folytassa a közös lépéseket.
Közös lépéseket generál egy SSH kulcsot pár
Akár létrehozása ED25519 vagy RSA-kulcsot, már azzal kezdődött, hogy a ssh-keygen
parancs.Ezen a ponton, akkor a következő üzenet jelenik meg a parancssorban (az ED25519 kulcs):
Generating public/private ed25519 key pair.Enter file in which to save the key (/home/user/.ssh/id_ed25519):
Ha nem már van egy SSH kulcs-pár pedig nem generál egy telepíteni kulcs,fogadja el a javasolt fájl, illetve könyvtár. Az Ön SSH kliense használjaaz eredményül kapott SSH kulcspár további konfiguráció nélkül.,
Alternatív megoldásként az új SSH kulcspárt más helyre mentheti.Hozzárendelheti a választott könyvtárat és fájlnevet.Azt is ajánlom, hogy SSH kulcspár egy adott gazda.
miután hozzárendelt egy fájlt az SSH kulcs mentéséhez, beállíthatjaegy jelszó az SSH kulcshoz:
Enter passphrase (empty for no passphrase):Enter same passphrase again:
ha sikeres, látni fogja annak megerősítését, hogy assh-keygen
parancsokmegmentették az azonosítóját és a privát kulcsot.,
szükség esetén a következő paranccsal frissítheti a jelmondatot:
ssh-keygen -p -f /path/to/ssh_key
RSA kulcsok és OpenSSH a 6.5-7.8
verziókból az OpenSSH 7.8 előtt az RSA kulcsok alapértelmezett nyilvános kulcs ujjlenyomata MD5-en alapult, ezért bizonytalan.
Ha az OpenSSH verziója a 6.5-ös verziótól a 7.8-as verzióig terjed(inclusive), futtassa a ssh-keygen
parancsot a -o
opcióval, hogy a privát SSH kulcsokat biztonságosabb formátumban mentse.,
Ha már van RSA SSH kulcspárja a GitLab használatához, fontolja meg a frissítésta biztonságosabb jelszó titkosítási formátum használatához. Ezt a következő paranccsal teheti meg:
ssh-keygen -o -f ~/.ssh/id_rsa
Alternatív megoldásként új RSA kulcsot hozhat létre a biztonságosabb titkosítási formátummal a következő paranccsal:
ssh-keygen -o -t rsa -b 4096 -C "[email protected]"
ssh-keygen
man oldal, ed25519 már titkosítja kulcsokat a secureopenssh formátumban.,SSH kulcs hozzáadása a GitLab fiókjához
most átmásolhatja a GitLab fiókjába létrehozott SSH kulcsot. Ehhez kövesse az alábbi lépéseket:
-
másolja a nyilvános SSH billentyűt olyan helyre, amely szöveges formátumban menti az információkat.,A következő opciók menti információk ED25519 kulcs a clipboardfor az ismert operációs rendszer:
macOS:
pbcopy < ~/.ssh/id_ed25519.pub
a Linux (előírja, hogy a
xclip
csomag):xclip -sel clip < ~/.ssh/id_ed25519.pub
Git Bash Windows:
cat ~/.ssh/id_ed25519.pub | clip
Ha a RSA kulcsot helyettesítő adatbázisunkat.
- keresse meg a
vagy a helyi GitLab példány URL-jét, majd jelentkezzen be.,
- válassza ki avatárját a jobb felső sarokban, majd kattintson a Beállítások
- kattintson az SSH billentyűkre.
- illessze be a másolt nyilvános kulcsot a kulcs szövegmezőbe.
- győződjön meg róla, hogy a kulcs tartalmaz egy leíró nevet a cím szövegmezőjében, például a munka Laptop vagy az otthoni munkaállomás.
- tartalmazza a kulcs (opcionális) lejárati idejét a “lejár a” szakaszban. (Bevezetve GitLab 12.9.)
- kattintson a kulcs hozzáadása gombra.
Az ezzel az eljárással “lejárt” SSH kulcsok a GitLab munkafolyamatokban érvényesek.,Mivel maga a GitLab által konfigurált lejárati dátum nem szerepel az SSH kulcsban, szükség szerint továbbra is exportálhat nyilvános SSH kulcsokat.
ssh-ed25519
(vagy ssh-rsa
) kóddal másolta, majd az e-mail címével fejezte be.kéttényezős hitelesítés (2FA)
beállíthatja a kéttényezős hitelesítést (2FA).,
annak tesztelése, hogy minden helyesen van-e beállítva
annak teszteléséhez, hogy az SSH kulcs helyesen lett-e hozzáadva, futtassa a következőtcommand a terminálon (cserélje ki a gitlab.com
a GitLab példány domainjével):
ssh -T [email protected]
amikor először csatlakozik a GitLab-hoz az SSH-n keresztül, ellenőriznie kell a GitLab gazdagép hitelességét, amelyhez csatlakozik.Például, ha csatlakozik GitLab.com, válasz yes
GitLab hozzáadásához.,Coma megbízható házigazdák listája:
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.
miután hozzáadta az Ismert gazdagépek listájához, ismét ellenőriznie kell a GitLab gazdagép hitelességét. Futtassa a fenti parancsotés fogadást kell kapnia a GitLab-ban, @username
! üzenet.,
Ha az üdvözlő üzenet nem jelenik meg, lehet elhárítani a problémát futó ssh
a bőbeszédű üzemmódot a következő parancsot:
ssh -Tvvv [email protected]
Dolgozik, nem alapértelmezett SSH kulcs pár utak
Ha nem alapértelmezett elérési utat a GitLab SSH kulcs-pár,konfigurálnia kell az SSH kliens, hogy pont a GitLab privát SSH kulcs.
a módosítások végrehajtásához futtassa a következő parancsokat:
eval $(ssh-agent -s)ssh-add <path to private SSH key>
Most mentse el ezeket a beállításokat a ~/.ssh/config
fájlba., Két példaa GitLab-nak szentelt SSH kulcsok itt láthatók:
# GitLab.comHost gitlab.com Preferredauthentications publickey IdentityFile ~/.ssh/gitlab_com_rsa# Private GitLab instanceHost gitlab.company.com Preferredauthentications publickey IdentityFile ~/.ssh/example_com_rsa
a nyilvános SSH kulcsoknak egyedinek kell lenniük a GitLab számára, mivel a fiókjához kötődnek.Az SSH-kulcs az egyetlen azonosító, amely akkor van, ha az SSH-n keresztül nyomja a kódot, ezért egyedi térképet kell készítenie egyetlen felhasználó számára.,
per-repository SSH keys
ha különböző kulcsokat szeretne használni attól függően, hogy az adattárban dolgozik, akkor a következő parancsot adhatja ki a tárolóban:
git config core.sshCommand "ssh -o IdentitiesOnly=yes -i ~/.ssh/private-key-filename-for-this-repository -F /dev/null"
Ez nem használja az SSH ügynököt, és legalább 2.10 Git-t igényel.
Több fiók egyetlen GitLab példányon
A per-repository módszer is használhatómultiple fiókok egyetlen GitLab példányon belül.
Alternatív megoldásként közvetlenül hozzárendelhet álneveket a~.ssh/config
gazdagépekhez., SSH és mellékesen a Git nem jelentkezik be, ha vanan IdentityFile
a Host
blokk .ssh/config
. Ez annak köszönhető, hogy az SSH hogyan szerel össze IdentityFile
bejegyzéseket, és nem változik a IdentitiesOnly
yes
. IdentityFile
a bejegyzéseknek az SSH kulcspár privát kulcsára kell mutatniuk.
Host
az álnevek meghatározása: user_1.gitlab.com
ésuser_2.gitlab.com
a hatékonyság és az átláthatóság érdekében., A speciális konfigurációkat nehezebb fenntartani; az ilyen típusú alias használata megkönnyíti a tounderstand használatát más eszközök, például a git remote
alparancsok használatakor. SSHwould értem string, mint egy Host
alias így Tanuki1
vagy Tanuki2
,annak ellenére, amely nagyon kis összefüggésben, mint ahol ők pont is működik.,a gitlab
tároló klónozása általában így néz ki:
a user_1
helyett gitlab.com
az SSH alias user_1.gitlab.com
:
git clone git@<user_1.gitlab.com>:gitlab-org/gitlab.git
javítson ki egy korábban klónozott tárolót a git remote
paranccsal.
az alábbi példa feltételezi, hogy a távoli adattár neve origin
.,
git remote set-url origin git@<user_1.gitlab.com>:gitlab-org/gitlab.git
Deploy keys
olvassa el a Deploy Keys dokumentációját.
Alkalmazások
Eclipse
Ha EGit-et használ, hozzáadhatja az SSH kulcsot az Eclipse-hez.
SSH a GitLab kiszolgálón
GitLab integrálódik a rendszer által telepített SSH démonhoz, egy felhasználó kijelölésével (általában git
), amelyen keresztül az összes hozzáférési kérelmet kezelik. Usersconnecting a GitLab szerver felett SSH azonosítják SSH kulcs helyett felhasználónevüket.,
a GitLab kiszolgálón végrehajtott SSH kliens műveletek így kerülnek végrehajtásra. Bár lehetséges, hogy módosítsa az SSH konfiguráció a felhasználó számára, például, hogy egy privát SSH kulcsot hitelesíteni ezeket a kéréseket, ez a gyakorlat nem támogatott, és erősen elriasztja, mivel jelentős biztonsági kockázatokat.
a GitLab check folyamat tartalmaz egy ellenőrzést erre a feltételre, és irányítja a youto-t erre a szakaszra, ha a kiszolgáló így van konfigurálva, például:
távolítsa el az egyéni konfigurációt, amint képes., Ezek a testreszabások kifejezetten nem támogatottak, és bármikor leállhatnak.
A Microsoft Windows opciói
Ha Windows 10 operációs rendszert futtat, a Windows Linux alrendszer (Wsl) és legújabb WSL 2 verziója támogatja a különböző Linux disztribúciók telepítését, beleértve a Git és SSH klienseket is.
A Windows jelenlegi verzióihoz a Git és SSH klienseket is telepítheti a withGit for Windows rendszerrel.,
az alternatív eszközök a következők:
- Cygwin
- PuttyGen
hibaelhárítás
Ha a Git klónon olyan jelszót kér, mint a[email protected]'s password:
valami nincs rendben az SSH beállításával.,
- annak Biztosítása, hogy amit létrehozott, az SSH kulcs pár helyesen, majd hozzátette, a nyilvános SSHkey a GitLab profil
- Próbálja meg manuálisan, regisztráció a privát SSH kulcs a
ssh-agent
mint documentedearlier ebben a dokumentumban - Próbálja meg elhárítani a kapcsolat futó
ssh -Tv [email protected]
(cseréjeexample.com
a GitLab domain)