กล่องโต้ตอบรหัสผ่านปรากฏขึ้นสำหรับรหัสส่วนตัว SSH ที่ไม่ใช้รหัสผ่าน


3

ฉันติดตั้งคีย์ส่วนตัว SSH ใน ~ / .ssh / id_rsa นอกจากนี้ยังไม่มีข้อความรหัสผ่านที่เกี่ยวข้องกับคีย์ แต่ทุกครั้งที่ผมเชื่อมต่อกับเซิร์ฟเวอร์ SSH โต้ตอบปรากฏขึ้นและขอให้ฉันป้อนรหัสผ่านในการเข้าถึงไฟล์ id_rsa

หากฉันยกเลิกกล่องโต้ตอบหรือป้อนข้อความรหัสผ่านที่ว่างเปล่าและคลิกตกลงเทอร์มินัลจะแจ้งให้ฉันป้อนข้อความรหัสผ่าน

ฉันได้ตรวจสอบแล้วว่ารหัสนั้นถูกต้องและไม่จำเป็นต้องใช้รหัสผ่านโดยการเชื่อมต่อกับรหัสเดิมผ่านเครื่องอื่น ๆ

มีบางอย่างผิดปกติเกี่ยวกับการตั้งค่าของฉันทำให้เกิดปัญหา แต่ฉันไม่สามารถเข้าใจได้ ฉันใช้ OSX 10.7.1 อยู่ในขณะนี้ แต่ปัญหาเดียวกันนี้เกิดขึ้นกับ OSX 10.6.8


คุณลองเลือก "จำรหัสผ่านในพวงกุญแจของฉัน" ในช่องโต้ตอบการตรวจสอบสิทธิ์หรือไม่
Chris หน้า

ใช่ฉันได้ลองเลือกช่องจำแล้ว ฉันได้ลองใช้รหัสผ่านเปล่าแล้วคลิกตกลงและเพียงแค่ยกเลิกกล่องโต้ตอบ แต่ทั้งหมดนี้ดูเหมือนจะอยู่ข้างจุด: ไม่ควรให้ฉันใส่ข้อความรหัสผ่านเพราะไม่มีข้อความรหัสผ่านที่เกี่ยวข้องกับกุญแจ มันเป็นกุญแจส่วนตัวที่ไม่มีรหัสผ่าน
JeremyT

อ่าฉันเข้าใจแล้ว โปรดยื่นรายงานข้อผิดพลาดที่developer.apple.com/bugreporterเพื่อให้แน่ใจว่า Apple รู้ว่านี่เป็นปัญหาสำหรับคุณ
Chris หน้า

ในกรณีของฉันมันกลับกลายเป็นว่าผมได้ใส่รหัสผ่านบนคีย์ส่วนตัว เมื่อนานมาแล้วที่ฉันลืมไปแล้วว่ามันยังอยู่ในพวงกุญแจ เมื่อฉันย้ายไฟล์ไปยังเครื่องใหม่ฉันไม่สามารถเข้าใจได้ว่าทำไมไฟล์ถึงไม่ทำงาน โชคดีที่ฉันยังมีข้อความรหัสผ่านอยู่ในบันทึกของฉัน D'โอ้!
Hew Wolff

คำตอบ:


2

ฉันมีปัญหาเดียวกันนี้ อย่างไรก็ตามเมื่อมีการสร้างคีย์ส่วนตัวที่ไม่มีรหัสผ่านใหม่ให้ใช้คำสั่งต่อไปนี้:

ssh-keygen -b 1024 -t rsa -f id_rsa -P ""

ฉันไม่เห็นพรอมต์รหัสผ่านอีกต่อไป

นอกจากนี้ ssh-add ล้มเหลวในการเพิ่มคีย์เก่า แต่เพิ่มใหม่ตามที่คาดไว้

ฉันสร้างคีย์เก่าบน Leopard ในปี 2009 โดยใช้ OpenSSL รุ่นใดที่ฉันเคยคว้าสร้างและติดตั้งกลับมาแล้ว (Mac เครื่องนั้นตายดังนั้นฉันไม่สามารถเข้าสู่ระบบและตรวจสอบสิ่งที่ฉันกำลังทำงานอยู่) บางอย่างเกี่ยวกับคีย์นั้นไม่สามารถใช้ร่วมกับไลบรารี่ SSL ของ Lion ได้

ฉันสำรองคีย์เก่าของฉันดังนั้นหากใครต้องการแนะนำการตรวจสอบบางอย่างเพื่อระบุคุณสมบัติเฉพาะของคีย์ให้ฉันตรวจสอบและฉันจะรายงานกลับ

เงื่อนงำอื่น - ฉันสังเกตเห็นว่าไฟล์ id_rsa.pub เก่าของฉันมีคุณสมบัติเพิ่มเติม นั่นคือธงสิทธิ์ดูเหมือน r นี้ -------- @ แทน r --------

xattr -l id_rsa.pub.old

กลับมาว่า:

com.macromates.caret: {
    column = 0;
    line = 1;
}

cruft เหลือจาก TextMate ฉันไม่รู้ว่าการลบมันจะแก้ไขปัญหาได้หรือไม่โดยไม่ต้องเปลี่ยนกุญแจ ฉันคิดว่ามันไม่น่าเป็นไปได้

ในกรณีที่คุณ (ผู้อ่านในอนาคต) เห็นสิ่งเดียวกันคุณสามารถลบแอตทริบิวต์เพิ่มเติมได้ดังนี้:

 xattr -d com.macromates.caret id_rsa.pub.old

คุณสามารถหยุด TextMate ไม่ให้เพิ่มพวกเขาโดยออกจาก TextMate ก่อนแล้วจึงออกคำสั่งนี้:

defaults write com.macromates.textmate OakDocumentDisableFSMetaData 1

ไฟล์ต้นฉบับของฉันไม่มีคุณสมบัติเพิ่มเติม แต่สร้างโดย putty-keygen บน Windows เมื่อฉันสร้างคู่คีย์ส่วนตัว / สาธารณะขึ้นใหม่โดยไม่ใช้วลีรหัสผ่านมันทำงานได้อย่างมีเสน่ห์
cori

1

สำหรับฉันฉันได้พบว่าข้อความหลงทางหรือความไม่สมบูรณ์ในคีย์ไฟล์อาจทำให้พรอมต์นี้ ล่าสุดสำหรับฉันคือ:

-----BEGIN RSA PRIVATE KEY----- ... -----END RSA PRIVATE KEY-----

สังเกตเห็นพื้นที่พิเศษที่นั่น นั่นเป็นสาเหตุให้พรอมต์รหัสผ่านที่แปลกประหลาดนี้ปรากฏขึ้นบนคีย์รหัสผ่านนี้


0

sshยูทิลิตี้รุ่นเก่ากว่าจะถามวลีรหัสผ่านเมื่อใดก็ตามที่ไม่สามารถแปลไฟล์คีย์ได้ หาก ssh ขอรหัสผ่านสำหรับไฟล์คีย์ซึ่งไม่ควรมีมันอาจหมายความว่าไฟล์คีย์เสียหายในบางวิธี

$ dd if=/dev/urandom of=randokey bs=1024 count=1
1+0 records in
1+0 records out
1024 bytes (1.0 kB) copied, 0.000380502 s, 2.7 MB/s
$ chmod 600 randokey
$ ssh -i randokey localhost
Enter passphrase for key 'randokey':

ผู้ดูแล OpenSSH ปรับปรุงพฤติกรรมนี้ในบางจุด เวอร์ชันsshที่มาพร้อมกับ macOS High Sierra รู้ความแตกต่างระหว่างคีย์เข้ารหัสและคีย์เสียหาย:

$ ssh -i randokey localhost
Load key "randokey": invalid format
Password: ^C

$ ssh -V
OpenSSH_7.6p1, LibreSSL 2.6.2
$ uname -a
Darwin [hostname] 17.4.0 Darwin Kernel Version 17.4.0: Sun Dec 17 09:19:54 PST 2017; root:xnu-4570.41.2~1/RELEASE_X86_64 x86_64
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.