Njengonjiniyela imvamisa kufanele sizungeze ama-akhawunti amaningi we-GitHub emshinini ofanayo. Isibonelo sine-akhawunti yethu yeGitHub yomuntu siqu yephrojekthi yethu bese kuba enye i-akhawunti yeGitHub esiyisebenzisela iphrojekthi yamakhasimende ethu.
Lo mbhalo uhlinzeka ngemiyalo yesinyathelo ngesinyathelo sendlela yokusetha nokusebenza ngama-akhawunti amaningi we-GitHub emshinini ofanayo.
Kulesi simo sizokwakha ama-akhawunti amabili ahlukene we-GitHub emshinini ofanayo bese sishintsha phakathi kwalokhu okubili.
Okokuqala, sidinga ukudala okhiye bethu abazimele / abasesidlangalaleni be-SSH yethu komuntu siqu i-akhawunti.
Lokhu singakwenza ngokwenza umyalo olandelayo ku-terminal:
$ ssh-keygen -t rsa -C 'email@gmail.com' -f 'id_rsa_personal'
Ikheli le-imeyili elingenhla yilona olisebenzisela ukungena ngemvume kwi-akhawunti yakho ye-GitHub.
Lapho ucelwa indawo ukuze ulondoloze izinkinobho, yamukela indawo ezenzakalelayo ngokucindezela u-Enter. Umbhangqwana wokhiye wangasese / womphakathi wenziwa endaweni ezenzakalelayo ye-ssh ~/.ssh/
.
Izinkinobho zethu zomuntu siqu ze-SSH yilezi:
~/.ssh/id_rsa_personal.pub
futhi ~/.ssh/id_rsa_personal
Okulandelayo, sakha okhiye bethu abazimele / abasesidlangalaleni be-SSH yethu iklayenti i-akhawunti:
$ ssh-keygen -t rsa -C 'email@company.com' -f 'id_rsa_company'
Ikheli le-imeyili elingenhla yilona olisebenzisela ukungena ngemvume kwi-akhawunti yakho yeklayenti le-GitHub.
Umyalo ongenhla udala okhiye bamakhasimende ethu e-SSH ku- ~/.ssh/
.
Okhiye bethu beklayenti le-SSH yile:
~/.ssh/id_rsa_company.pub
futhi ~/.ssh/id_rsa_company
Ngena ngemvume ku-akhawunti yakho ye-GitHub bese ufaka i- id_rsa_personal.pub
ukhiye womuntu siqu.
Okulandelayo, ngena ngemvume ku-akhawunti yakho yeklayenti le-GitHub bese ukwengeza id_rsa_company.pub
ukhiye womphakathi wamakhasimende.
Uma ungaqiniseki ukuthi ungakwenza kanjani lokhu, funda faka iGit bese Ukhiqiza okhiye be-SSH .
Ifayela lokuhlela le-SSH lihlala ku- ~/.ssh/
. Uma ungaliboni ifayela lokumisa, bese ulidala:
$ cd ~/.ssh/ $ touch config
// Creates the file if not exists $ nano config
// Opens the file for editing
Faka amaphrofayili akho ahlukile we-GitHub kufayela le-SSH:
# Personal account Host github.com-personal HostName github.com User git IdentityFile ~/.ssh/id_rsa_personal # Company account-1 Host github.com-company HostName github.com User git IdentityFile ~/.ssh/id_rsa_company
Qala umenzeli wakho we-ssh ngokusebenza eval '$(ssh-agent -s)'
.
Ngemuva kwalokho engeza okhiye bakho be-SSH ku-ssh-agent:
ssh-add ~/.ssh/id_rsa_personal ssh-add ~/.ssh/id_rsa_company
Lokhu kuzobhalisa okhiye bakho be-SSH ne-ssh-ejenti emshinini.
Manje njengoba sidale okhiye bethu be-SSH okwabantu nabezinkampani futhi sakubhalisa nge-ssh-agent, manje sesingashintsha kalula phakathi kwama-akhawunti amabili eGitHub emshinini ofanayo.
Sidinga ukuqiniseka ukuthi sinokhiye ofanele we-SSH kuphela ongezwe ku-ssh-agent ngasikhathi.
Isibonelo, uma sisebenza kuphrojekthi yethu yomuntu siqu senza lokhu:
$ ssh-add -D
//removes all ssh entries from the ssh-agent $ ssh-add ~/.ssh/id_rsa_personal
// Adds the personal ssh key
Ngokufanayo, uma sisebenza kuphrojekthi yethu yamakhasimende, senza:
$ ssh-add -D
//removes all ssh entries from the ssh-agent $ ssh-add ~/.ssh/id_rsa_company
// Adds the company ssh key
Futhi le yindlela esingaphatha ngayo ama-akhawunti amaningi we-GitHub emshinini ofanayo futhi sishintshe phakathi kwawo ngenkathi sisebenza kumaphrojekthi ahambisanayo.