OSX ssh-agent: ไม่มีการวางรหัสผ่านและมีปัญหากับ PKCS # 8?


37

ฉันใช้ ssh บนเครื่องของฉันและตั้งค่าข้อความรหัสผ่านที่ไม่เป็นมิตรกับมนุษย์ซึ่งบันทึกไว้ในเครื่องมือจัดการรหัสผ่านของฉัน สิ่งที่ทำให้ฉันบ้าทุกครั้งคือฉันไม่สามารถวางลงในหน้าต่างด้านล่าง ฉันรู้จักRemember password in my keychainตัวเลือกและใช้งาน บางครั้งฉันต้องป้อนใหม่ ทำไมฉันไม่สามารถวางลงในช่องรหัสผ่านได้?

สิ่งเดียวกันสำหรับกล่องโต้ตอบที่ปรากฏขึ้นเมื่อเสียบปลั๊กดิสก์ที่เข้ารหัส

หน้าต่าง ssh-agent

การอัปเดตบางอย่าง:

  1. ฉันค้นพบวิธีที่ฉันสามารถหลีกเลี่ยงไดอะล็อก: เพียงแค่ใช้ssh-add -K ~/.ssh/id_rsaแล้วฉันสามารถวางข้อความรหัสผ่านในเทอร์มินัล
  2. ดังที่ mattmcmanus พูดถึง Key ของฉันได้ถูกใช้ใหม่pkcs8ซึ่งถูกใช้ใน ssh-agent ของ Yosemite นี่ไม่เกี่ยวข้องกับปัญหาข้างต้น แต่มันเกิดขึ้นกับฉันในเวลาเดียวกัน (อ่านที่นี่ )
  3. การใช้ssh-add ยังคงไม่สามารถแก้ไขปัญหานี้ได้สำหรับดิสก์ที่เข้ารหัส

คุณควรยอมรับคำตอบที่ดีด้านล่าง คุณควรหลีกเลี่ยงการถามคำถามหลาย ๆ ข้อในโพสต์เดียว
Alain O'Dea

1
@ AlainO'Dea แรกใช่ฉันควรนี่เป็นคำถามเก่าและฉันลืมมัน สำหรับสิ่งที่สองแม้ว่า: ในเวลาที่ถามมันไม่ชัดเจนว่าปัญหาที่สอง (PKCS ที่เสีย) จะเกิดขึ้นดูประวัติการแก้ไข
joni

คำตอบ:


22
  1. โต้ตอบสำหรับตัวแทน ssh สามารถโกงโดยการเพิ่มที่สำคัญในคอนโซล / ssh-add ~/.ssh/id_rsaสถานี: จากนั้นคุณสามารถวางรหัสผ่านลงในเทอร์มินัล นอกจากนี้การเพิ่ม-Kตัวเลือกที่ssh-addจะบันทึกลงในพวงกุญแจตามความคิดเห็นของ Oliver Lacans
  2. ดังที่ mattmcmanus กล่าวว่าid_rsaการเข้ารหัสโดยใช้ PKCS นั้นดูเหมือนว่าจะใช้งานไม่ได้บน OSX Mavericks ssh-agent วิธีแก้ปัญหาอย่างรวดเร็วคือการถอดรหัสคีย์ไฟล์และเข้ารหัสอีกครั้งด้วยโพรซีเดอร์ ssh มาตรฐาน (วิธีการหาคีย์: MD5 ... ):

mv id_rsa id_rsa.pkcs
openssl rsa -in id_rsa.pkcs -out id_rsa
# enter passphrase to decrypt
chmod 0600 id_rsa
ssh-keygen -f id_rsa -p
# enter passphrase to encrypt again

3
ในขณะที่คำตอบของ Joni เป็นเลิศฉันจะแนะนำssh-add -K ~/.ssh/id_rsaซึ่ง "ร้านวลีรหัสผ่านในพวงกุญแจของคุณ" ssh-add --helpตาม มันจะป้องกันไม่ให้คุณต้องเรียกใช้ซ้ำssh-addทุกครั้งที่คุณเปิดแท็บเชลล์ใหม่หรือเมื่อคุณรีสตาร์ทเครื่อง
Olivier Lacan

2

มันเป็นคีย์ PKCS # 8 และคุณอยู่ที่ mavericks หรือไม่? ถ้าเป็นเช่นนั้นดูเหมือนว่าจะถูกจับอย่างสมบูรณ์ ไม่แน่ใจว่ามีวิธีแก้ปัญหาหรือยัง


1
ทำไมต้องเป็นเช่นนี้? ปัญหาที่เกิดขึ้นก็คือฟิลด์รหัสผ่านในกล่องโต้ตอบไม่ยอมรับการวาง มีอยู่แล้วใน 10.8 แต่เนื่องจากการอัปเดตเป็น 10.9 ฉันต้องป้อนข้อความรหัสผ่านอีกครั้ง
joni

ตกลงคุณดูเหมือนจะถูก ... ดูคำตอบของฉันเอง
joni

2

บน Mac OS X El Capitan คำสั่งssh-addสามารถทำได้ด้วยตัวเลือก-K :

$ ssh-add -K ~/.ssh/id_rsa
Enter passphrase for /Users/your.username/.ssh/id_rsa:

คุณสามารถวางรหัสผ่านของคุณลงในพร้อมท์นี้กับ⌘-V

เซสชั่นสำหรับสิ่งนี้มีลักษณะเช่นนี้:

$ ssh-add -K ~/.ssh/id_rsa
Enter passphrase for /Users/your.username/.ssh/id_rsa:
Passphrase stored in keychain: /Users/your.username/.ssh/id_rsa
Identity added: /Users/your.username/.ssh/id_rsa (/Users/your.username/.ssh/id_rsa)

ข้อความที่ตัดตอนมาที่เกี่ยวข้องของSSH-ADD (1)นำขึ้นด้วยman ssh-add :

-K เมื่อเพิ่มตัวตนข้อความรหัสผ่านแต่ละอันจะถูกเก็บไว้ในพวงกุญแจของคุณ เมื่อลบ identities ด้วย -d แต่ละวลีรหัสผ่านจะถูกลบออกจากพวงกุญแจของคุณ

INFOSEC หมายเหตุ : รหัสผ่านของคุณจะไม่ปรากฏในเชลล์ แต่จะปรากฏต่อแอปพลิเคชันที่ทำงานอยู่ทั้งหมดผ่านคลิปบอร์ด โซลูชันอัตโนมัติจะปลอดภัยมากขึ้น


1

คุณสามารถเรียกใช้สคริปต์เช่นนี้ใน AppleScript Editor:

tell application "System Events" to tell process "SecurityAgent"
    set value of text field 2 of scroll area 1 of group 1 of window 1 to "pa55word"
    click button 2 of group 2 of window 1
end tell

1
ขอบคุณสิ่งนี้จะเป็นประโยชน์สำหรับกล่องโต้ตอบ 'ดิสก์ที่เข้ารหัส' แต่ทำไมแอปเปิลจึงปิดใช้งานฟิลด์นี้เพื่อการวาง ???
joni

มีประโยชน์ แต่ใช่ว่าอย่าคิดว่าวิธีนี้จะช่วยแก้ปัญหา PKCS # 8 ได้แม้ว่าคุณจะป้อนรหัสผ่านที่ถูกต้อง แต่มันก็บอกว่าข้อความรหัสผ่านไม่ถูกต้อง
Bob Aman

ไม่สมเหตุสมผล ตอนนี้รหัสผ่านลับสุดยอดของคุณเปิดให้ทุกคน นั่นคือเหตุผลที่ TS ใช้ตัวจัดการรหัสผ่านเพื่อให้รหัสผ่านของเธออยู่ตรงกลางและได้รับการปกป้องอย่างสูง
Whaefelinger

1
ไม่ทำงานกับ El Capitan ก่อนอื่นจะขอให้ตัวแก้ไขสคริปต์ได้รับการควบคุมการช่วยเหลือSystem Events got an error: Script Editor is not allowed assistive access. เมื่อได้รับอนุญาตภายใต้การตั้งค่าระบบ | ความปลอดภัยและความเป็นส่วนตัวฉันได้รับSystem Events got an error: Can’t get window 1 of process "SecurityAgent". Invalid index.
Alain O'Dea

1

ฉันมีปัญหาเดียวกัน. หลังจากค้นหาคำถามนี้ฉันยังคงค้นหาและพบคำตอบที่อื่น นี่เป็นคำถามที่เก่ากว่า แต่ไม่มีคำตอบที่ยอมรับได้และยังคงสูงในรายการค้นหา (ไม่แน่ใจเกี่ยวกับมารยาทการแลกเปลี่ยนในนั้น)

RE ไม่สามารถคัดลอก / วาง: เห็นได้ชัดจากการออกแบบ จุดประสงค์คือเพื่อป้องกันการเข้าถึงฟิลด์ทั้งหมดจากคลิปบอร์ดเพื่อป้องกันโปรแกรมที่เป็นอันตรายจากการคัดลอกรหัสผ่านกล่อง ฉันคิดว่าควรอนุญาตให้วาง (และไม่ตัด) แต่อาจมีเหตุผลทางเทคนิค

สำหรับสิ่ง ssh-agent ตั้งแต่ (อย่างน้อย) Yosemite -Kตัวเลือกในการssh-add -K ~/.ssh/blahทำสิ่งที่คุณต้องการ - พิมพ์รหัสผ่านหนึ่งครั้งมันถูกเก็บไว้ในพวงกุญแจของคุณและ ssh-agent จะปลดล็อคอย่างโปร่งใสสำหรับคุณ ในการพยายามและปลอดภัยยิ่งขึ้นฉันใส่ข้อความรหัสผ่าน ssh ของฉันในพวงกุญแจแยกต่างหากที่ล็อคตัวเองเป็นระยะ


โอกาสใดที่คุณสามารถแชร์ลิงก์ไปยังคำตอบที่คุณพบ
John Carney

ขอโทษสำหรับเรื่องนั้น! สำหรับสิ่ง ssh-agent ฉันบังเอิญไปที่developer.apple.com/library/mac/documentation/Darwin/Reference/…
PerilousApricot

0

การใช้ brew openssl และ openssh แก้ไขปัญหา

brew update
brew install openssl
brew link openssl --force
brew install openssh

# confirm correct bins are being used
# both should be located in /usr/local/bin
which openssl
which openssh

# add key back to keychain
ssh-add ~/.ssh/id_rsa

ฉันไม่แน่ใจว่ากำลังเชื่อมโยง openssl ทำให้เกิดอะไรขึ้นกับ Mavricks หรือไม่ จนถึงตอนนี้ฉันยังไม่พบปัญหาใด ๆ


1
ไม่มี (อีกต่อไป) เป็นสูตรbrew openssh
อดัมลิตร

ยังคงมีbrew tap homebrew/dupesแต่ ที่กล่าวว่าขั้นตอนเหล่านี้ดูเหมือนจะไม่สามารถแก้ไขปัญหานี้ให้ฉันได้
Bob Aman

@ simple10 คำตอบนี้ให้คุณค่าเพียงเล็กน้อยหรือไม่มีเลย อย่างน้อยคุณควรให้รุ่น openssl / openssh ที่แก้ไขปัญหา นอกจากนี้โปรดอธิบายโดยละเอียดว่าทำไมจึงต้องทำเช่นนั้น
whaefelinger
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.