Github, Bitbucketga o’xshagan “repository-hosting-service”larga deyarli har doim SSH orqali bog’lanib, Git amallarini bajaramiz (clone, pull, push v.h.k). SSH aloqada albatta SSH sertifikat yaratib, “public-key”ni hosting servisga kiritib qo’yishimiz kerak bo’ladi.
Agar 2 ta Github akkaunt bo’lsa, har bittasi uchun alohida SSH sertifikat yaratish kerak. Lekin Git qaysi sertifikatni ishlatishni “qaittan” biladi? 🤔
Yangi ishimda kechadan beri internal reponi klon qilolmay sochimni yulyotuvdim. Open-source repolar uchun shaxsiy Github akkauntimni ishlatishimni aytishdi. Lekin ichki repolar uchun faqat korporativ akkauntdagina ruxsat bor va ular ham Githubda. Tabiiyki ikkalovi uchun 2 ta sertifikat yaratganman. Git bo’lsa har safar shaxsiy akkauntim sertfikatidan foydalanayotgan ekan. Uniyam bugun anglab yettim! 😖
Xo’sh, muammoni topdik! 🙂
Endi uni yechish kerak! ☹️
Korochche, qaysi hostlar uchun qaysi SSH sertifikatni ishlatishni aytish uchun “.ssh” papkasida “config” faylini yaratish kerak ekan. Men ham o’sha faylda “personal” va “work” degan host “alias”larni qo’shib, kerakli SSH-key’larni kiritib qo’ydim:
Host work
HostName github.com
IdentityFile ~/.ssh/id_rsa_work
User git
Host personal
HostName github.com
IdentityFile ~/.ssh/id_rsa_personal
User git
Keyin reponi kerakli “alias” bilan klon qildim:
git clone git@work:username/my-work-project.git
git clone git@personal:username/my-personal-project.git
Shunaqa. 😌
@brogrammist