1. บนเซิฟเวอร์ สร้างหรือลอคอินเป็น user ที่ต้องการใช้งาน
Generate ssh key
สร้าง SSH key บนเซิฟเวอร์ โดยใช้คำสั่ง
$ ssh-keygen -t ed25519 -C "your_email"
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/USER/.ssh/id_ed25519): /home/USER/.ssh/id_github
Created directory '/home/USER/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/USER/.ssh/id_github
Your public key has been saved in /home/USER/.ssh/id_github.pub
The key fingerprint is:
SHA256:ozITiHPpfsdfadsffamh28ad+d9ZZpfasdfsQeI4YaF8+Ge0 [email protected]
The key's randomart image is:
+--[ED25519 256]--+
| . +. |
|. O . o . + .|
| . . .. |
+----[SHA256]-----+
เปิดดู public key เพื่อนำไปใช้ใส่ใน Github Deploy Key
cat /home/USER/.ssh/id_github.pub
2. ใน Github ไปยัง repository ที่ต้องการ
- ไปที่ Setting > Deploy Keys
- คลิก Add Deploy Key
- นำ Public key ที่ได้จากข้อด้านบน ไปกรอกในช่อง Key
- หากต้องการใช้เพื่อ Pull อย่างเดียว ไม่ต้องติ๊ก allow write access
3. ตั้งค่า SSH login เพื่อใช้งานหลาย key บนเซิฟเวอร์
$ vi ~/.ssh/config
#เพิ่มข้อความ
Host github.com-repo-name
Hostname github.com
IdentityFile ~/.ssh/github_rsa
ทำการ Cloud repository ที่ต้องการ โดยไปยังโฟลเดอร์ที่ต้องการ แล้วใช้คำสั่ง
git clone [email protected]:git-user-name/repo-name.git