user@host:path/to/repo
รูปแบบบอก Git การใช้ SSH เพื่อเข้าสู่ระบบด้วยชื่อผู้ใช้host
user
จากgit help clone
:
ไวยากรณ์ที่คล้ายกันของ scp อื่นอาจใช้กับโปรโตคอล ssh:
[user@]host.xz:path/to/repo.git/
ส่วนก่อน@
คือชื่อผู้ใช้และวิธีการรับรองความถูกต้อง (รหัสผ่านกุญแจสาธารณะ ฯลฯ ) จะถูกกำหนดโดย ssh ไม่ใช่ Git Git ไม่มีวิธีการส่งรหัสผ่านไปยัง ssh เนื่องจาก ssh อาจไม่ได้ใช้รหัสผ่านขึ้นอยู่กับการกำหนดค่าของเซิร์ฟเวอร์ระยะไกล
ใช้ssh-agent
เพื่อหลีกเลี่ยงการพิมพ์รหัสผ่านตลอดเวลา
หากคุณไม่ต้องการที่จะพิมพ์รหัสผ่าน SSH ของคุณตลอดเวลาการแก้ปัญหาโดยทั่วไปคือการสร้างคู่คีย์สาธารณะ / ส่วนตัวใส่กุญแจสาธารณะของคุณใน~/.ssh/authorized_keys
แฟ้มssh-agent
บนเซิร์ฟเวอร์ระยะไกลและโหลดคีย์ส่วนตัวของคุณลงใน ยังเห็นการกำหนดค่า Git ผ่าน SSH เข้าสู่ระบบครั้งเดียว , หน้าความช่วยเหลือบน GitHub วลีรหัสผ่านที่สำคัญ SSH , เอกสาร SSH gitolite ของและเอกสารคีย์ SSH Heroku ของ
เลือกระหว่างหลายบัญชีที่ GitHub (หรือ Heroku หรือ ... )
หากคุณมีหลายบัญชีในสถานที่เช่น GitHub หรือ Heroku คุณจะมีหลายคีย์ ssh (อย่างน้อยหนึ่งบัญชีต่อบัญชี) ในการเลือกบัญชีที่คุณต้องการเข้าสู่ระบบคุณต้องบอก ssh ว่าจะใช้ไพรเวตคีย์ใด
ตัวอย่างเช่นสมมติว่าคุณมีสองบัญชี GitHub: และfoo
bar
คีย์ SSH สำหรับคุณfoo
มี~/.ssh/foo_github_id
และที่สำคัญ SSH ของคุณสำหรับการมีbar
~/.ssh/bar_github_id
คุณต้องการเข้าถึงgit@github.com:foo/foo.git
ด้วยfoo
บัญชีของคุณและgit@github.com:bar/bar.git
ด้วยbar
บัญชีของคุณ คุณจะเพิ่มสิ่งต่อไปนี้ใน~/.ssh/config
:
Host gh-foo
Hostname github.com
User git
IdentityFile ~/.ssh/foo_github_id
Host gh-bar
Hostname github.com
User git
IdentityFile ~/.ssh/bar_github_id
จากนั้นคุณจะโคลนที่เก็บสองรายการดังนี้:
git clone gh-foo:foo/foo.git # logs in with account foo
git clone gh-bar:bar/bar.git # logs in with account bar
หลีกเลี่ยง ssh ทั้งหมด
บริการบางอย่างให้การเข้าถึง HTTP เป็นทางเลือกแทน ssh:
GitHub:
https://username:password@github.com/username/repository.git
Gitorious:
https://username:password@gitorious.org/project/repository.git
Heroku: ดูบทความสนับสนุนนี้
คำเตือน : การเพิ่มรหัสผ่านของคุณไปยัง URL โคลนจะทำให้เกิด Git .git/config
เก็บรหัสผ่านของคุณในเท็กซ์ ในการจัดเก็บรหัสผ่านของคุณอย่างปลอดภัยเมื่อใช้ HTTP ให้ใช้ตัวช่วยข้อมูลประจำตัว ตัวอย่างเช่น:
git config --global credential.helper cache
git config --global credential.https://github.com.username foo
git clone https://github.com/foo/repository.git
ด้านบนจะทำให้ Git ขอรหัสผ่านของคุณทุกๆ 15 นาที (โดยค่าเริ่มต้น) ดูgit help credentials
รายละเอียดที่