Tuesday, May 11, 2021

ប្រើ Remote Git ទៅ Github ដោយប្រើ SSH

ប្រើ Remote Git ទៅ Github ដោយប្រើ SSH
 
នេះមិនមែនជាពត៌មានថ្មីនោះទេ ដែល Github បានជូនដំណឹងតាំងតែពីចុងឆ្នាំ 2020 ថានឹងដកចេញនូវការ Login ដោយប្រើ username និង password ចេញពីការ remote ចេញពីម៉ាស៊ីនទៅ Github ដោយអោយអ្នកប្រើប្រាស់ប្តូរទៅប្រើ SSH Key ដែលមានសុវត្ថិភាពនិងទំនុកចិត្តជាង។

Github Login

ជាធម្មតាពេលដែលត្រូវប្រើ Remote ពីម៉ាស៊ីនទៅ Github វាតែងតែតម្រូវអោយ Login ដូចផ្ទាំងខាងលើនៅលើ Windows និងវាយបញ្ចូល username និង password នៅលើ Terminal នៅលើ Mac និង Linux។ តែយើងក៏អាចរក្សា username និង​ password នៅក្នុង Git បានដែរ គឺនៅក្នុង Git Credential ប៉ុន្តែវាមិនបាន Encrypte នោះទេដែលជាហានិភ័យក្នុងការដែលគេអាចចូលទៅលួចហើយគ្រង់គ្រង់គណនី Github បាន។

១. តំឡើង SSH Key នៅលើម៉ាស៊ីន
ប្រើប្រាស់ Terminal នៅលើ Mac ឫ Linux និងប្រើ Git Bash នៅលើ Windows។ ដំបូងត្រូវ Generate SSH Key ដោយប្រើ command ដូចខាងក្រោម (ដូចគ្នាគ្រប់ OS) ដោយប្តូរ email៖
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
ពេល run command នោះវានឹងសួរថា៖
- Enter file in which to save .... គ្រាន់តែចុច Enter ឲ្យវា Save ទៅតាម default។
- Enter passphrase .... ជាពាក្យសម្ងាត់សម្រាប់ធ្វើការគ្រប់គ្រង SSH អាចដាក់អ្វីក៏បាន យកល្អដាក់ដូច password របស់កុំព្យូទ័រ រួចវាយម្តងទៀតដើម្បីធ្វើការបញ្ជាក់។

បន្ទាប់មកបញ្ចូល Key ទៅ SSH agent ដើម្បីអោយកុំព្យូទ័រដឹងថាត្រូវប្រើ SSH មួយណាត្រូវប្រើ៖
eval "$(ssh-agent -s)"

បន្ទាប់មកដាក់អោយប្រើ ​SSH ដែលមាន៖
ssh-add ~/.ssh/id_rsa

២. យក SSH Key ទៅដាក់លើ Github
បន្ទាប់ពីជំហ៊ានខាងលើរួចបានន័យថាកុំព្យូទ័រមាន SSH ជាស្រេចសម្រាប់ប្រើប្រាស់។ បន្ទាប់មកត្រូវចម្លង (Copy) SSH key ដែលមាននោះ ទៅដាក់នៅលើ Github ដើម្បីអោយវាចាំផ្ទៀងផ្ទាត់ថាត្រូវគ្នាឫទេ។ Command ខាងក្រោមនេះនឹង copy SSH Key ទៅ clipboard របស់កុំព្យូទ័រ ហើយវាខុសគ្នាទៅតាម OS៖

Mac OS
pbcopy < ~/.ssh/id_rsa.pub

Windows
clip < ~/.ssh/id_rsa.pub

Linux:
ដោយសារ​ Linux ត្រូវការ tool ដើម្បីអាច copy បាន ត្រូវតម្លើង xclip ជាមុនសិន៖
sudo apt-get install xclip

បន្ទាប់ពីតម្លើង xclip បានជោគជ័យ៖
xclip -sel clip < ~/.ssh/id_rsa.pub

បន្ទាប់ពីប្រើ command ខាងលើរួច ចូលទៅ login នៅលើ Github៖
ចូលទៅ Setting

ចូលទៅ SSH and GPG keys រួចចុច New SSH key

ដាក់ឈ្មោះ និង​ Paste SSH ដែលបាន Copy ដោយប្រើ command ខាងលើ

SSH មានលក្ខណៈដូចរូប រួចចុច add SSH key ជាការស្រេច

៣. ដាក់ Remote តាម SSH នៅលើកុំព្យូទ័រ
ជាធម្មតាការប្រើ Remote ភាគច្រើនប្រើប្រាស់តាម​​​ HTTPS ដើម្បីប្តូរទៅ SSH វិញ ចូលទៅកាន់ Folder ដែលជា Git respository និងប្រើ command ខាងក្រោម៖
git remote set-url origin git@github.com:username/repo.git

ដែល Link ជា SSH អាចចូលទៅយកដូចរូបខាងក្រោម៖
Github SSH

បន្ទាប់ពីនេះ SSH បានតម្លើងចប់ ដោយ Git និងមិនសួររក username និង password ទៀតឡើយ។ SSH ​key ជាពាក្យសម្ងាត់ដែលមិនត្រូវចែកចាយអោយអ្នកដ៏ទៃឡើយ។

បើក្នុងករណី​ Setup repo ថ្មី ដោយគ្រាន់តែ set remote ជា SSH ដូចចំនុចទី 3 ជាការស្រេច។

អានបន្ថែម៖ https://docs.github.com