A Git mindig felhasználói hitelesítő adatokat kér a HTTP(S) hitelesítéshez
A távoli Git-tároló eléréséhez vagy az azzal való munkához használhat SSH vagy HTTP(S) protokollt; Az előbbinél, ha a privát adattárakról van szó, egyszerűen beállíthatja az SSH-kulcsokat jelszó nélkül, amely lehetővé teszi az adatok biztonságos átvitelét felhasználónév és jelszó megadása nélkül.
A HTTP(S) esetén azonban minden kapcsolat kérni fogja felhasználónevének és jelszavának megadását (amikor a Gitnek hitelesítésre van szüksége egy adott URL-környezethez) – ezt a Github-felhasználók jól tudják.
Ebben a cikkben bemutatjuk, hogyan javíthatja ki azt, hogy a Git mindig felhasználói hitelesítési adatokat kér a HTTP(S)-n keresztüli hozzáféréshez. Elmagyarázzuk, hogyan lehet megakadályozni, hogy a Git ismételten felhasználónevet és jelszót kérjen, amikor távoli adattárral kommunikál HTTP(S)-n keresztül.
A Git telepítése Linux alatt
Ha nincs telepítve a Git csomag a rendszerére, futtassa a Linux disztribúciójának megfelelő parancsot a telepítéshez (ha szükséges, használja a Sudo parancsot).
sudo apt install git [On Debian/Ubuntu]
yum install git [On CentOS/RHEL/Fedora]
sudo zypper install git [On OpenSuse]
sudo pacman -S git [On Arch Linux]
Git felhasználónév és jelszó megadása a távoli URL-ben
Amint azt korábban említettük, egy távoli Git lerakat HTTP(S) feletti klónozásakor minden kapcsolathoz felhasználónévre és jelszóra van szükség. az ábrán látható módon.
Ha meg szeretné akadályozni, hogy a Git kérje az Ön felhasználónevét és jelszavát, az ábrán látható módon adja meg a bejelentkezési hitelesítő adatokat az URL-ben.
sudo git clone https://username:[email /username/repo_name.git
OR
sudo git clone https://username:[email /username/repo_name.git local_folder
Ennek a módszernek a fő hátránya, hogy a felhasználónév és a jelszó mentésre kerül a parancsfájlban a Shell előzményfájljában.
valamint a helyi mappa alatti .git/config fájlban, ami biztonsági kockázatot jelent.
cat .git/config
Megjegyzés: Azoknak a Github-felhasználóknak, akik engedélyezték a kéttényezős hitelesítést, vagy olyan szervezethez férnek hozzá, amely SAML egyszeri bejelentkezést használ személyes hozzáférési jogkivonatot hozzon létre és használjon a jelszó megadása helyett a HTTPS Githez (ahogyan az ebben az útmutatóban a mintakimenetekben látható). Személyes hozzáférési token létrehozásához a Githubban lépjen a Beállítások => Fejlesztői beállítások => menüpontra. Személyes hozzáférési tokenek.
A Remote Git Repository felhasználónév és jelszó mentése a lemezre
A második módszer a Git hitelesítő adatok segítője a felhasználónév és a jelszó egyszerű fájlba mentéséhez a lemezen az ábrán látható módon.
git config credential.helper store
OR
git config --global credential.helper store
Mostantól a Git minden egyes URL-környezethez hitelesítő adatokat ír a ~/.git-credentials fájlba, amikor először éri el. A fájl tartalmának megtekintéséhez használja a cat parancsot az ábrán látható módon.
cat ~/.git-credentials
Az ugyanazon URL-környezethez tartozó további parancsok esetén a Git beolvassa a felhasználói hitelesítő adatait a fenti fájlból.
Az előző módszerhez hasonlóan a felhasználói hitelesítő adatok Gitnek való átadásának ez a módja sem biztonságos, mivel a tárolófájl nem titkosított, és csak szabványos fájlrendszer-engedélyek védik.
Az alább ismertetett harmadik módszer biztonságosabbnak tekinthető.
A távoli Git Repository felhasználónév és jelszó gyorsítótárazása a memóriában
Végül, de nem utolsósorban, használhatja a Git hitelesítési adatok súgóját is, hogy ideiglenesen mentse a hitelesítő adatait egy ideig a memóriában. Ehhez adja ki a következő parancsot.
git config credential.helper cache
OR
git config --global credential.helper cache
A fenti parancs futtatása után, amikor először próbál hozzáférni egy távoli privát adattárhoz, a Git kérni fogja a felhasználónevét és jelszavát, és egy ideig elmenti a memóriába.
Az alapértelmezett gyorsítótárazási idő 900 másodperc (vagy 15 perc), amely után a Git ismét felkéri a felhasználónév és a jelszó megadására. A következőképpen módosíthatja (1800 másodperc=30 perc vagy 3600 másodperc=1 óra).
git config --global credential.helper 'cache --timeout=18000'
OR
git config --global credential.helper 'cache --timeout=36000'
A Gitről és a hitelesítési adatok segítőiről további információért tekintse meg a man oldalakat.
man git
man git-credential-cache
man git-credential-store
Hasznos volt ez az útmutató? Értesítsen minket az alábbi visszajelzési űrlapon keresztül. A témával kapcsolatos kérdéseit vagy gondolatait is megoszthatja.