Github : Push Source Code ขึ้น Githubโดยไม่ต้องใส่ username,password

Artdvp
3 min readDec 8, 2017

--

www.github.com

อันเนื่องมาจาก ขี้เกียจพิมพ์ username กับ password เวลา push code ขึ้น Github จึงต้องตั้งค่านิดหน่อยๆ เลยบันทึกเก็บไว้กันลืม

สิ่งที่ต้องมี

  • Github Account
  • File or Source Code

เป็นการใช้งานบน Linux

Start !!

ตรวจสอบไฟล์ id_rsa.pub

$ ls -a ~/.ssh
./ ../ authorized_keys config id_rsa id_rsa.pub known_hosts

ถ้าไม่มีให้ Generate ขึ้นมาซะ จะมีการถามให้เซฟทับหรือไม่ ตอบ Y แล้ว ENTER ENTER ไปเลย

$ ssh-keygen -t rsa -b 4096 -C "mail@gmail.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ubuntu/.ssh/id_rsa):
/home/ubuntu/.ssh/id_rsa already exists.
Overwrite (y/n)? Y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/ubuntu/.ssh/id_rsa.
Your public key has been saved in /home/ubuntu/.ssh/id_rsa.pub.
The key fingerprint is:
......

จะได้ key-pair มายาวมากๆ

$ cat ~/.ssh/id_rsa.pub 
ssh-rsa AAAAB.......== mail@gmail.com

ให้ไปที่ Github เลือกที่ Setting

เลือกที่เมนู SSH and GPG keys และคลิกที่ New SSH key

แล้วไปก๊อปปี้ id_rsa.pub key ที่สร้างมาวางและก็ตั้งชื่อด้วยกด Add SHH key โลด

ก็จะขึ้นชื่อ SSH key ที่สร้างไปเมื่อซักครู่

กลับไปที่ Terminal ทำการทดสอบเชื่อมต่อ ssh

$ ssh -T git@github.com
Warning: Permanently added 'github.com,192.30.253.113' (RSA) to the list of known hosts.
Hi artdvp! You've successfully authenticated, but GitHub does not provide shell access.

ไปที่ Github อีกที ไป Copy url ของ Repository ที่ต้องการ

แล้วไปที่ Terminal เข้าไปที่ folder git ของเรา เพื่อตั้งค่า remote url

$ git remote set-url origin git@github.com:artdvp/learning.git

หลังจากนั้นจะสามารถใช้คำสั่ง push ได้โดยไม่ต้องใส่ username และ password

$ git status
$ git add .
$ git commit -m "update"
$ git push
Warning: Permanently added 'github.com,192.30.253.112' (RSA) to the list of known hosts.
Counting objects: 2, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 224 bytes | 6.00 KiB/s, done.
Total 2 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To github.com:artdvp/learning.git
c9c7f0b..ced1d61 master -> master

...end

จบ…..

--

--