สาเหตุอาจเป็นไปได้ว่ารหัสส่วนตัวนั้นไม่ได้ถูกปลดล็อค


13

ตั้งแต่ฉันอัปเดตเป็น Ubuntu 17.10 เมื่อครู่ที่ผ่านมากุญแจส่วนตัวของฉัน - ซึ่งฉันใช้เป็นตัวอย่างในการเข้าถึงเซิร์ฟเวอร์ของฉันผ่าน ssh - ไม่ถูกปลดล็อคโดยทางโปรแกรมหลังจากลงชื่อเข้าใช้อีกต่อไป

ป้อนคำอธิบายรูปภาพที่นี่

ความเข้าใจของฉันคือโดยปกติแล้วสิ่งที่seahorse clientควรดูแลโดยขอให้คุณเก็บรหัสผ่านของคีย์เมื่อพิมพ์รหัสเหล่านี้เป็นครั้งแรกหรือไม่

การเดาครั้งแรกของฉันคือการที่seahorse-daemonไม่ได้ทำงานด้วยเหตุผลบางอย่าง แต่มันคือ:

user@Zeus:~$ ps aux | grep seahorse
user    19170  0.0  0.1 432636 26564 ?        Ss   00:07   0:00 seahorse-daemon

ฉันเดาที่สองคือว่าด้วยเหตุผลบางอย่างฉันต้องลบรหัสผ่านที่เกี่ยวข้องทั้งหมดที่เก็บไว้ในม้าน้ำภายใต้»รหัสผ่าน -> เข้าสู่ระบบ«: ป้อนคำอธิบายรูปภาพที่นี่

ฉันหวังว่าจะบังคับให้ลูกค้าถามฉันอีกครั้งแล้วเก็บไว้อีกครั้ง แต่นี่ก็ไม่ได้ช่วยอะไรเช่นกัน ลูกค้าไม่ปรากฏขึ้นเพื่อถามฉัน ...

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

เนื่องจากการจัดการรหัสผ่านอื่นทำงานตามที่คาดไว้ (เช่นรหัสผ่านสำหรับ nautilus, Chromium, Nextcloud เป็นต้น) ฉันคิดว่าปัญหาต้องทำอะไรบางอย่างกับssh-agent...

ใครช่วยแนะนำฉันในทิศทางที่ถูกต้องวิธีแก้ปัญหานี้ได้อย่างไร มีอะไรเปลี่ยนแปลงในวิธีที่ GNOME จัดการกับรหัสผ่านหรือไม่ อาจมีบางโปรแกรมแฟนซีใหม่ติดตั้งระหว่างกระบวนการอัปเกรดหรือไม่

อัปเดต เมื่อฉันเพิ่มคีย์ส่วนตัวไปยังตัวแทนการตรวจสอบความถูกต้องอีกครั้งด้วย:

ssh-add ~/.ssh/id_rsa

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


ฉันก็เริ่มถามรหัสผ่านเพื่อปลดล็อคกุญแจ ssh ในขณะที่ใช้ Ubuntu 17.10 คำตอบที่ยอมรับไม่ได้ช่วยฉัน (ใช้ได้เฉพาะเมื่อรีบูต) นี่เป็นคำถามที่ซ้ำกันชัดเจน
Alexey

ม้าน้ำเข้ารหัสข้อมูลด้วยคุณเดารหัสผ่าน (โดยทั่วไป) การเข้าสู่ระบบโดยไม่ต้องใช้รหัสผ่านเช่น ssh ด้วยกุญแจเครื่องอ่านลายนิ้วมือ ... ออกจากการถอดรหัสจนกว่าจะมีความจำเป็นจากนั้นคุณจะถูกถาม คุณเปลี่ยนการเข้าสู่ระบบ ssh จากรหัสผ่านเป็นคีย์เมื่อปัญหาเริ่มต้นขึ้นหรือไม่
ubfan1

คำตอบ:


7

ใช่ ssh-agent คือคำตอบ ในการบันทึกข้อความรหัสผ่านสิ่งที่คุณต้องทำคือ:

ssh-add ~/.ssh/id_rsa

จากนั้นใส่รหัสผ่านของคุณแล้วลงชื่อเข้าใช้อีกครั้ง


สิ่งนี้จะช่วยจนกว่าจะรีบูตครั้งถัดไป
Alexey

@Alexey ใช่ฉันสามารถยืนยันได้ว่าจะใช้งานได้จนกว่าการรีบูตครั้งถัดไปเท่านั้น ยังไม่พบวิธีแก้ปัญหา
user5950

ssh-agent ทำงานในระหว่างการเข้าสู่ระบบและสิ้นสุดลงเมื่อคุณจบการทำงานเพื่อความปลอดภัย หากยังคงมีการรีบูตและรหัสผ่านของบัญชีของคุณถูกบุกรุกทันใดนั้นผู้โจมตีก็สามารถเข้าถึงตัวตน RSA ของคุณและด้วยเหตุนี้ทุกเครื่องที่คุณสามารถเข้าถึงได้ นี่จะเป็นช่องโหว่ที่น่ารังเกียจ อย่างไรก็ตามมีวิธีแก้ไขบางอย่างที่ทำให้บัญชีของคุณปลอดภัยน้อยลง ดูunix.stackexchange.com/questions/90853/…
darksky

6

การเพิ่มตัวแทนคีย์ SSH (พวงกุญแจ GNOME: ตัวแทน SSH) ไปยังแอปพลิเคชันเริ่มต้นแก้ปัญหาสำหรับฉัน:

ป้อนคำอธิบายรูปภาพที่นี่


3

ตัวเลือกแรก

เริ่มตัวแทน ssh:

ssh-agent

เพิ่ม ssh-key:

ssh-add ~/.ssh/id_rsa

หากต้องการให้ยังคงอยู่หลังจากรีบูตอัตโนมัติเริ่ม ssh-agent เพิ่มบรรทัดต่อไปนี้ใน. bash_profile ของคุณ:

if [ -z "$SSH_AUTH_SOCK" ] ; then
  eval `ssh-agent -s`
  ssh-add
fi

ตัวเลือกที่สอง

เพิ่มลงใน. bashrc หรือ. zshrc ของคุณ:

if [ ! -S ~/.ssh/ssh_auth_sock ]; then
  eval `ssh-agent`
  ln -sf "$SSH_AUTH_SOCK" ~/.ssh/ssh_auth_sock
fi
export SSH_AUTH_SOCK=~/.ssh/ssh_auth_sock
ssh-add -l > /dev/null || ssh-add

นี่ควรจะถามรหัสผ่านในครั้งแรกที่คุณเข้าสู่ระบบหลังจากรีบูตแต่ละครั้ง มันจะทำให้การนำเอสเอสเอสกลับมาใช้ซ้ำตราบใดที่มันยังคงทำงานอยู่


ขอบคุณวิธีแก้ปัญหานี้ดูราวกับว่ามันใช้งานได้ แต่ฉันหลงทางเกิดอะไรขึ้นที่จะทำให้มันหยุดทำงานตั้งแต่แรก มันใช้งานได้ในช่วงทศวรรษที่ผ่านมา ... ฉันต้องการหาสาเหตุก่อนที่จะไปหาวิธีแก้ปัญหา ...
user5950
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.