วิธีการตั้งค่า SSH สำหรับ GitHub เพื่อให้จำรหัสผ่านบน Windows, WSL, MacOS และ Ubuntu

โดยใช้ OpenSSH มีการตั้งหลาย Key พร้อมๆ กันในเครื่องเดียว รวมถึงใครที่ใช้ SourceTree ก็สามารถใช้ร่วมกันได้เลย

  • Public key คือ กุญแจสาธารณะ ซึ่งคือสามารถเผยแพร่ให้ เครื่องปลายทางได้
  • Private key คือ กุญแจส่วนตัว ซึ่งไม่ควรเผยแพร่ และเจ้าของข้อมูลควรจะถือไว้เท่านั้น

1. Mac OS, Ubuntu, WSL

1.1 วิธีการสร้าง SSH Keys และการใช้งาน

$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f /path/to/key
$ ssh -T git@github.com Hi [Your Username] ! You've successfully authenticated, but GitHub does not provide shell access.
$ git remote set-url origin git@github.com:username/your-repository.git

2. Windows 10, 11

2.1 เตรียม SSH สำหรับ Windows 10

  1. เปิด Manage optional features จาก start menu แล้วติดตั้ง OpenSSH Client
  2. เปิด Powershell แบบ Admin
Get-Service -Name ssh-agent | Set-Service -StartupType Automatic
Get-Service -Name ssh-agent | Set-Service -Status Running

2.2 วิธีการสร้าง SSH Keys และการใช้งาน บน PowerShell

3. วิธีการที่ทำ SSH Agent จำ Key passphrase

3.1 ใช้ Command ssh-add

ssh-add $HOME/.ssh/your_file_name

3.2 ตั้งค่าไฟล์ใน ~/.ssh/config

Host *
AddKeysToAgent yes
IdentitiesOnly yes
Host github.com
HostName github.com
User your_user_name
IdentityFile ~/.ssh/your_file_name

4. การใช้งานหลาย Key ในเครื่องเดียวกัน

Host *
AddKeysToAgent yes
IdentitiesOnly yes

Host github.com
HostName github.com
User personal-user
IdentityFile ~/.ssh/personal_rsa

Host work.github.com
HostName github.com
User work-user
IdentityFile ~/.ssh/work_rsa
# สำหรับเปลี่ยน Remote location ของบัญชีส่วนตัว
git remote set-url origin git@work.github.com:your-username/your-repo.git
# สำหรับเปลี่ยน Clone ของบัญชีส่วนตัว
git clone git@work.github.com:your-username/your-repo.git
# สำหรับเปลี่ยน Remote location ของบัญชีที่ทำงาน
git remote set-url origin git@github.com:your-username/your-repo.git
# สำหรับเปลี่ยน Remote location ของบัญชีที่ทำงาน
git clone origin git@github.com:your-username/your-repo.git

วิธีใช้งานร่วมกับ SourceTree

git@work.github.com:your-username/your-repo.git

อ่านเพิ่มเติม

อ้างอิง

--

--

Web developers with ASP.Net, MSSQL, Azure working in Remote Office 100%

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store