วิธี login github ใน linux ที่ตอนหลังไม่สามารถล๊อกอินโดยใช้ยูสเซอร์เนมและพาสเวิร์ดได้แล้ว
- ดูว่ามี key pair รียัง
cd ~/.ssh
ls
- ถ้ายังไม่มีไฟล์ id_rsa.pub ให้สร้างใหม่โดยคำสั่ง
ssh-keygen -o -t rsa -C "[email protected] หรือ commant"
- Generating public/private ed25519 key pair.
Enter file in which to save the key (/Users/phunsanit/.ssh/id_ed25519):
ถ้าตอบจะเป็นการใส่ชื่อไฟล์ ใน ~/.ssh เช่น phunsanit@GitHub ถ้า enter เฉย ๆ จะใช้ชื่อที่สุ่มมา
- ใส่รหัสผ่านใหม่ให้กับคำถาม
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
อย่าลืมเก็บ password นี้ไว้ดี ๆ
- จะเห็นข้อความประมาณ
Your identification has been saved in /Users/username/.ssh/id_rsa.
Your public key has been saved in /Users/username/.ssh/id_rsa.pub.
The key fingerprint is:
01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| . E + |
| . o = . |
| . S = o |
| o.O . o |
| o .+ . |
| . o+.. |
| .+=o |
+-----------------+
- ดู public key ในไฟล์ .pub
cat ~/.ssh/[email protected]
จะเห็นข้อความประมาณ
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA879BJGYlPTLIuc9/R5MYiN4yc/YiCLcdBpSdzgK9Dt0Bkfe3rSz5cPm4wmehdE7GkVFXrBJ2YHqPLuM1yx1AUxIebpwlIl9f/aUHOts9eVnVh4NztPy0iSU/Sv0b2ODQQvcy2vYcujlorscl8JjAgfWsO3W4iGEe6QwBpVomcME8IU35v5VbylM9ORQa6wvZMVrPECBvwItTY8cPWH3MGZiK/74eHbSLKA4PY3gM4GHI450Nie16yggEg2aTQfWA1rry9JYWEoHS9pJ1dnLqZU3k/8OWgqJrilwSoC5rGjgp93iu0H8T6+mEHGRQe84Nk1y5lESSWIbn6P636Bl3uQ== [email protected]
ใส่ public key ใน GitHub ไปที่ https://github.com/settings/ssh/new ใส่ Title ที่ต้องการเช่น home notebook และวางเนื้อหาใน clipboard ไปที่ช่อง Key คลิก Add SSH key
- ทดสอบโดยคำสั่ง
ssh -T [email protected]
จะตอบมาประมาณ
Hi phunsanit! You’ve successfully authenticated, but GitHub does not provide shell access.
- ทดสอบโดยพิมพ์ clone ใน terminal แล้วไปที่ github repository ของเราคลิก clone คลิก SSH คลิกปุ่ม copy วางข้อความประมาณ [email protected]:phunsanit/xxx.git เช่น clone [email protected]:phunsanit/xxx.git
ทำตามขั้นตอนไปการ clone ไปเรื่อย ๆ เมื่อมีคำถามเกี่ยวกับรหัสผ่านก็ใส่รหัสผ่านที่ได้ตั้งไว้
อ่านเพิ่มเติม