ทุกครั้งที่ฉันต้องการpush
และ / หรือpull
จากเทอร์มินัล (ใน Linux) ฉันต้องใส่รหัสผ่าน ฉันจะลบสิ่งนี้เพื่อดึงและ / หรือพุชโดยไม่มีรหัสผ่านได้อย่างไร
ทุกครั้งที่ฉันต้องการpush
และ / หรือpull
จากเทอร์มินัล (ใน Linux) ฉันต้องใส่รหัสผ่าน ฉันจะลบสิ่งนี้เพื่อดึงและ / หรือพุชโดยไม่มีรหัสผ่านได้อย่างไร
คำตอบ:
สร้างคู่คีย์ส่วนตัว / สาธารณะสำหรับการตรวจสอบรหัสผ่านที่น้อยกว่า
สำหรับลินุกซ์, ~/.ssh
กุญแจของคุณจะถูกเก็บไว้ใน
หากคุณมีไฟล์อยู่ใน~/.ssh
ชื่อid_rsa
และid_rsa.pub
คุณมีคู่กุญแจอยู่แล้ว ต่อท้ายเนื้อหาของกุญแจสาธารณะของคุณ (นั่นคือid_rsa.pub
) ไปยังไฟล์ ~ / .ssh / authorized_keys ของที่เก็บ Git
$ scp ~/.ssh/id_rsa.pub user@git.repo:id_rsa.tmp
$ ssh user@git.repo
$ cat id_rsa.tmp >> .ssh/authorized_keys
หากคุณไม่มีคู่คีย์ให้สร้างด้วย
$ ssh-keygen -t rsa
อ่านคำแนะนำเพิ่มเติมนี้: http://inchoo.net/tools-frameworks/how-to-generate-ssh-keys-for-git-authorization/
วิ่ง
git config credential.helper store
สิ่งนี้จะจัดเก็บข้อมูลรับรองของคุณไว้ในโฟลเดอร์ภายในรูท คุณต้องรัน git pull / push หลังจากคำสั่งนี้และให้ชื่อผู้ใช้ / pwd เป็นครั้งแรก โพสต์สิ่งนี้มันจะไม่พร้อมท์สำหรับผู้ใช้ / pwd รายละเอียดที่https://git-scm.com/docs/git-credential-store
https
เพื่อหลีกเลี่ยงการป้อนชื่อผู้ใช้ / รหัสผ่านซ้ำแล้วซ้ำอีกไม่ใช่เปลี่ยนไปใช้ssh
โซลูชัน 1+ สำหรับคำตอบนี้
คุณสามารถเปลี่ยนข้อความรหัสผ่านและแทนที่ด้วยสตริงว่างได้:
ssh-keygen -p
ฉันสร้างสาขาใหม่และหลังจากนั้นเมื่อฉันดึงฉันต้องป้อนชื่อผู้ใช้และรหัสผ่าน จากนั้นฉันแก้ไขปัญหาการโคลนสาขาอีกครั้งด้วยที่อยู่ ssh (ซึ่งอยู่บนไซต์ที่เก็บข้อมูลที่เกี่ยวข้อง)
ตัวอย่างเช่น:
git clone git@github.com:sshare/GLE.git