Как да настроите удостоверяване без парола за частно хранилище на GitHub?

Повтарянето на една и съща задача е скучно и болезнено за програмисти като нас. не е ли

Една от тези задачи е интерактивна с частното хранилище на GitHub. Какво става с него? Знаеш какво е. И вие търсите начини да го разрешите и попаднахте на тази статия. Ще спрете да търсите, след като прочетете тази статия.

И така, тук ще говорим за достъп до частното хранилище на GitHub без парола. Без повече шум, нека да започнем.

Има два начина за достъп до всяко хранилище на GitHub. Те са HTTPS и SSH. Повечето от вас използват HTTPS. Но сега разбирате, че не е ефективен начин да използвате HTTPS метода за клониране на частните хранилища.

Достъпът включва клониране, натискане, издърпване и т.н.; всичко, което е свързано с актуализирането на нашето хранилище в дистанционното управление.

Няма проблем, когато става въпрос за достъп до публичните хранилища. Но ние трябва да се удостоверим, докато имаме достъп до частно хранилище. Има различни начини да се удостоверим.

Да започнем с най-познатия…

Ако използвате HTTPS

Вероятно трябва да знаете за HTTPS метода и да търсите други. Нека бързо да видим как да получите достъп до частно хранилище, като го използвате.

  • Копирайте връзката към вашето лично хранилище.

Частно хранилище на GitHub

  • Отворете терминала или cmd във вашата машина.
  • Поставете командата git clone link, за да клонирате частното хранилище.
  • Заменете връзката с връзката към вашето лично хранилище.
  • Ще ни помоли да се удостоверим. И така, трябва да въведем нашите идентификационни данни за GitHub.
  • Първо ще ни помоли да въведем потребителското си име в GitHub. Въведете вашето потребителско име в GitHub и натиснете Enter.

Потребителско име за удостоверяване

  • Сега трябва да въведем паролата. Въведете паролата си за GitHub и натиснете Enter.

Парола за удостоверяване

Това е; клонирахме частното хранилище, използвайки HTTPS метода. Сега актуализирайте нещо в хранилището, ангажирайте и ги изпратете на дистанционно.

Какво забелязахте?

Отново иска удостоверяване.

Push удостоверяване

Не е ли скучна и тежка задача да въвеждаме идентификационни данни всеки път, когато взаимодействаме с частното хранилище?

Да, това е.

Не можем да въведем нашите идентификационни данни за GitHub, когато взаимодействаме с нашето частно хранилище. Това е процес, който отнема време и забавя работата ни.

Има различни начини да се отървете от горния проблем. Най-добрият начин да го направите е да използвате SSH. Но има и други начини да го направите. Нека ги разгледаме всички един по един.

.git config

Цялата информация за версиите на нашите хранилища се съхранява в директория .git. Това е скрита папка. В него има конфигурационен файл, който ни позволява да конфигурираме настройките. Но по принцип не се препоръчва.

Можем да клонираме частно хранилище, като добавим нашето потребителско име и парола в URL адреса на хранилището, както следва.

git clone https://<strong>username:password</strong>@github.com/<strong>username</strong>/<strong>repository_name</strong>.git

Актуализирайте потребителското име, паролата и repository_name с подходящи подробности. Тъй като сме дали нашите идентификационни данни в URL адреса, той няма да иска удостоверяване, както сме виждали преди.

  Как работят интелигентните домове?

Така че ще следваме горния метод за удостоверяване и съответно ще актуализираме конфигурацията на нашето хранилище. Нека да видим стъпките, за да се отървете от повтарящото се удостоверяване чрез актуализиране на URL адреса.

  • Отворете папката .git във вашето клонирано хранилище.

Папка .git

  • Ще намерите файл с име config. Отворете го с помощта на произволен текстов редактор по ваш избор.
  • Ще има ред с връзката към нашето хранилище, както следва.

Връзка към хранилище в конфиг

  • Актуализирайте URL адреса, като добавите вашето потребителско име и парола, както се вижда по-горе.

Актуализация на URL адреса на хранилището

Сега отново актуализирайте нещо в хранилището, ангажирайте и ги натиснете.

Наблюдаваш ли нещо?

Този път не трябваше да иска вашите идентификационни данни за GitHub. И така, ние решихме нашия проблем, като актуализирахме настройката на нашето хранилище.

Може би сте забелязали, че не е сигурно. Докато излагаме пълномощията си. И този метод няма да работи, ако паролата ви за GitHub съдържа знак @.

Така че има някои критични недостатъци от използването на този метод. Затова нека го игнорираме и да преминем към следващия метод.

удостоверение.помощник

Credential.helper ни позволява да съхраняваме идентификационните данни завинаги във файла ~/.git-credentials.

Той ще съхрани нашите идентификационни данни, когато ги въведем за първи път. Отново, когато се опитаме да осъществим достъп до частното хранилище, то няма да поиска идентификационни данни, докато не бъде съхранено във файла ~/git-credentials. Така че това е един от начините да избегнем проблема си. Нека го видим в действие с точни стъпки.

  • Първо, трябва да активираме опцията за съхраняване на нашите идентификационни данни с командата git config credential.helper store.
  • След като активирате опцията, опитайте да получите достъп до частното хранилище с вашето потребителско име и парола.
  • След като въведете вашето потребителско име и парола, той ще ги съхрани във файл ~/.git-credentials с вашите идентификационни данни за GitHub, както следва.

git-идентификационни данни

Сега отново същият процес, за да проверите дали работи правилно или не. Актуализирайте, ангажирайте и натиснете. Сигурен съм, че няма да ви поиска идентификационни данни, ако сте изпълнили горните стъпки, за да съхраните вашите идентификационни данни.

Върви добре…

Какво ще стане, ако искате да запазите идентификационните данни за 4 часа вместо завинаги?

Credential.helper предоставя начин за временно съхраняване на нашите идентификационни данни за определен период от време. Използваме кеш вместо магазин, за да съхраняваме идентификационните данни за определен период от време.

Кешът ще съхранява нашите идентификационни данни за 15 минути по подразбиране. След 15 минути git отново ще поиска идентификационни данни. Но можем да променим времето по подразбиране, като използваме следната команда.

git config credential.helper 'cache --timeout={time_in_seconds}'

Не забравяйте да посочите времето в секунди. Нека го видим в действие.

  • Първо, трябва да активираме опцията за кеширане на нашите идентификационни данни с командата git config credential.helper cache.
  • Достъп до частното хранилище с вашето потребителско име и парола.
  • След като въведете вашето потребителско име и парола, той ще кешира вашите идентификационни данни за GitHub за определено време.
  Как да отваряте връзки във VLC Player от контекстното меню във Firefox

Сега актуализирайте, ангажирайте и натиснете. Отново няма да поиска вашите идентификационни данни, както казахме, че ги кешира.

Показахме ви командите за работа с git инициализирано хранилище. Можем да актуализираме конфигурацията на git глобално за всички проекти, като добавим флага –global в горните команди.

Лични токени за достъп

Личните токени за достъп се използват за предоставяне на достъп до GitHub API. Личните токени за достъп са като OAuth токени. Така че те могат да се използват за основно удостоверяване вместо парола за git. Следователно можем да използваме личните токени за достъп, за да разрешим нашия проблем.

Нека да видим как да го направим.

  • Влезте в акаунта си в GitHub.
  • Отидете в Настройки.

Настройки на GitHub

  • Сега отидете на настройките за разработка от лявата навигационна лента.

Настройки за разработчици на GitHub

  • Щракнете върху токените за персонален достъп, за да стигнете до нашата крайна дестинация. Ще видите личните маркери за достъп, както следва.

GitHub лични токени за достъп

  • Кликнете върху Генериране на нов токен, за да генерирате нов.

Генерирайте нов токен

  • Въведете бележката за токена. Можете да мислите за това като за кратки бележки, които жетонът да запомни.

Личен маркер за достъп Забележка

  • Изберете разрешенията за токена. Програмите, използващи токена, ще предоставят достъп до всички избрани разрешения. В нашия случай изберете репото.

Разрешения за хранилище

  • Превъртете надолу до дъното и щракнете върху бутона Генериране на токен.

Бутон за генериране на токен

  • Той ще покаже личния маркер за достъп само веднъж, както следва. Не можем да видим нашия личен токен отново. Така че, копирайте го и го запазете на сигурно място. Използвайте мениджър на пароли, ако е необходимо.

Личен токен за достъп

  • Успешно създадохме личния маркер за достъп.
  • Сега е време да го използвате за достъп до нашето частно хранилище.
  • Актуализирайте URL адреса на хранилището в .git/config файла като https://{personal_access_token}@github.com/hafeezulkareem/private_repository.git подобно на първия метод.

Личен токен за достъп в конфигурацията

Сега опитайте да получите достъп до частното хранилище.

Поиска ли ви удостоверяване?

Не, няма да ви поиска удостоверяване, докато токенът не е активен. Нека да преминем към последния начин за разрешаване на нашия проблем.

SSH

SSH се използва, за да се удостоверим. Можете да намерите пълния документ за SSH в GitHub тук.

Идеята е проста. Генерирайте SSH ключ, добавете го към акаунта в GitHub и се насладете на удостоверяване без парола.

Нека разгледаме подробно тези три стъпки.

  • Отворете терминал или cmd във вашата система.
  • Въведете командата ssh-keygen -t rsa, за да генерирате нов SSH ключ.
  • Ще поиска директорията за запазване на ключа. Натиснете Enter, за да изберете директорията по подразбиране. Но можете също да промените директорията според вашите предпочитания. Тук отиваме с директорията по подразбиране.
  Кой е най-големият твърд диск, който можете да купите?

SSH директория

  • Сега трябва да въведем паролата, за да защитим нашия SSH ключ. Но не е задължително.
    • Ако изберем парола за SSH ключа, трябва да я въведем първо, когато включим нашата система.
    • Ако не сме избрали паролата, тогава няма нужда да я въвеждаме първо.

SSH парола

  • Въведете отново паролата, за да я потвърдите.

SSH парола

  • И накрая, той ще генерира нов SSH ключ за нас, както следва.

SSH ключ

Успешно генерирахме нов SSH ключ в нашите системи. Той ще създаде два файла, както следва (ако сте променили пътя, тогава имената на файловете може да варират).

SSH ключови файлове

Сега е време да се свържете с нашия акаунт в GitHub. Съдържанието на файла с разширение .pub трябва да бъде копирано в нашия GitHub акаунт за връзката. В моя случай това е id_rsa.pub.

  • Влезте в акаунта си в GitHub.
  • Отворете Настройки.

Настройки на GitHub

  • Кликнете върху SSH и GPG ключове, за да стигнете до крайната ни дестинация.

SSH и GPG ключове

  • Кликнете върху Нов SSH ключ, за да добавите нашия новогенериран SSH ключ.

Нов SSH ключ

  • Ще преминете към следния екран.

Нов SSH ключ

  • Добавете подходящото заглавие за SSH ключа. SSH ключовете са различни за всяка система. Така че изборът въз основа на него е един от добрите варианти. Но това не е единственият вариант. Можете да изберете въз основа на други неща според вашите предпочитания.
  • След като изберете заглавието, копирайте и поставете съдържанието на .pub във второто поле.

Нов SSH ключ

  • Накрая натиснете бутона Add SSH и потвърдете достъпа с паролата си за GitHub.
  • Новодобавеният SSH ключ ще изглежда по следния начин.

Нов SSH ключ

Добавихме нашия новогенериран SSH ключ към GitHub. Сега трябва да удостоверим SSH връзката, за да се насладим на удостоверяване без парола по-късно. За да го направите, въведете следната команда в терминал или cmd.

ssh -T [email protected]

SSH връзка

Ще поиска потвърждение. Потвърдете го. И това е всичко и сме готови.

Сега клонирайте вашето лично хранилище. Този път няма да иска удостоверяване.

Актуализирайте, ангажирайте и натиснете. Ето. Повече няма да ви пита за удостоверяване. Наслаждавай се.

Заключение

уф! разгледахме различни методи за достъп до частни хранилища, без да въвеждаме идентификационни данни през цялото време. Можете да използвате всеки метод. Но общата и най-добра практика е да се използва методът SSH за удостоверяване.

Отново зависи от вашите предпочитания; няма строго правило за използване на единствения SSH метод. Но повечето фирми използват метода SSH за удостоверяване, който е сигурен и спестява много време. И се уверете, че идентификационните ви данни са в безопасност.

Честито развитие 🙂