ฉันใช้ git bash และฉันตั้งค่า ssh key โดยใช้ ssh-keygen และทุกครั้งที่ฉันทำอะไรกับ repo git ขอรหัสผ่านสำหรับ/c/Users/jankiewj/.ssh/id_rsa
ฉัน มีวิธีปิดการใช้งานข้อความรหัสผ่านนั้นหรือไม่
ฉันใช้ git bash และฉันตั้งค่า ssh key โดยใช้ ssh-keygen และทุกครั้งที่ฉันทำอะไรกับ repo git ขอรหัสผ่านสำหรับ/c/Users/jankiewj/.ssh/id_rsa
ฉัน มีวิธีปิดการใช้งานข้อความรหัสผ่านนั้นหรือไม่
คำตอบ:
คุณสามารถเรียกใช้สิ่งนี้ได้ใน git bash:
eval `ssh-agent -s`
ssh-add ~/.ssh/*_rsa
มันจะถามวลีรหัสผ่านในคำสั่งที่สองและนั่นคือ การดำเนินการเพิ่มเติมแต่ละรายการที่คุณจะต้องทำ (ซึ่งครั้งหนึ่งต้องใช้วลีรหัสผ่าน) จะไม่ขอให้คุณใช้วลีรหัสผ่าน (ดูตัวอย่างในภาพหน้าจอด้านล่าง):
.bashrc
ดังนั้นทุกครั้งที่ฉันเปิด git bash ฉันจะได้รับพรอมต์และสำหรับเซสชันนั้นฉันก็พร้อมแล้ว
~/.bashrc
จากนั้นป้อนบรรทัดจากโพสต์ของคุณลงไปแล้วบันทึกเลย :) ขอบคุณ!
.bashrc
ผมจะใช้สคริปต์และวางไว้ทั้งในหรือ .bash_profile
นี่คือตัวอย่างของส่วนหลักของฉันควรแก้ไขปัญหานี้สำหรับทุกคนที่ยังคงมองหาคำตอบ มันคล้ายกับคำตอบด้านล่าง ที่ด้านบนสุดของสคริปต์ฉันโหลดของฉันซึ่งถ้าไม่สามารถใช้ได้ก็แค่ปล่อยไว้ หมายเหตุ: คุณจะต้องเปลี่ยนการอ้างอิงถึงสิ่งที่คุณตั้งชื่อคีย์ SSH ส่วนตัวของคุณและอาจเป็นเส้นทาง .profile
.bash_profile
.bashrc
id_rsa
ทางออกที่ดีกว่าและถาวรเล็กน้อยคือการเปิดตัว ssh-agent โดยอัตโนมัติเมื่อเปิด git bash บน windows คุณสามารถคัดลอก / วางด้านล่างใน. profile หรือ. bashrc ของคุณ ฉันชอบที่จะวางมันลงบน. profile
env=~/.ssh/agent.env
agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }
agent_start () {
(umask 077; ssh-agent >| "$env")
. "$env" >| /dev/null ; }
agent_load_env
# agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2= agent not running
agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)
if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
agent_start
ssh-add
elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then
ssh-add
fi
unset env
การแก้ปัญหานี้นำมาจากบทความช่วยเหลือ GitHub นี้
.bashrc
โซลูชันของคุณแตกต่างอย่างไร บน Windows ทุบตีแต่ละเชลล์มีความเป็นอิสระดังนั้นเอเจนต์จะไม่ทำงานเมื่อคุณรันเชลล์
.bashrc
วิธีการแก้ปัญหาการทำงานที่ดีโดยการใส่รหัสลงใน พร้อมท์ข้อความรหัสผ่าน ssh ในครั้งแรกเท่านั้น Safed ชีวิตของฉัน ขอขอบคุณ.
ssh-add -D
ลบคีย์ทั้งหมดได้
ฉันไม่แน่ใจว่าฉันต้องการที่จะแนะนำ แต่เมื่อคุณสร้างคีย์และขอให้ตั้งรหัสผ่านเพียงกด Enter และข้ามรหัสผ่าน
ดูที่ลิงค์นี้สำหรับวิธีการใช้ssh-keygen
:
https://help.github.com/articles/working-with-ssh-key-passphrases/
อาจssh-agent
ช่วยคุณได้ แต่ไม่แน่ใจว่าไม่ทราบระบบปัจจุบันของคุณ
mvn release:perform
ช่วงที่มันพยายามเช็คเอาต์แท็กการปล่อยโดยไม่ต้องใส่ข้อความรหัสผ่าน ดังนั้นการล้างข้อความรหัสผ่านเท่านั้นจึงแก้ไขปัญหานี้ได้
ป้อนคำสั่ง git นี้ในตำแหน่ง repos ของคุณ " ssh-keygen -p " จากนั้นระบบจะแจ้งให้คุณป้อนตำแหน่ง keyfile, วลีรหัสผ่านเก่าและวลีรหัสผ่านใหม่ (ซึ่งสามารถเว้นว่างไว้เพื่อไม่มีข้อความรหัสผ่าน) อย่าป้อนอะไรในรหัสผ่านใหม่และมันจะลบข้อความรหัสผ่าน