ไดเรกทอรี Home ที่เข้ารหัสไม่ใช่การติดตั้งอัตโนมัติ


10

ฉันสามารถหยุดการติดตั้งอัตโนมัติสำหรับไดเรกทอรีภายในบ้านที่เข้ารหัสของฉันได้

ทุกครั้งที่ฉันเข้าสู่ระบบผ่าน SSH ฉันเห็นสิ่งนี้:

valorin@joshua:~$ ls -la
total 44
dr-x------ 3 valorin valorin  4096 2012-03-17 17:10 .
drwxr-xr-x 7 root    root     4096 2012-03-17 11:45 ..
lrwxrwxrwx 1 valorin valorin    56 2012-03-08 20:37 Access-Your-Private-Data.desktop -> /usr/share/ecryptfs-utils/ecryptfs-mount-private.desktop
-rw------- 1 valorin valorin   917 2012-03-17 19:24 .bash_history
drwx------ 3 valorin valorin  4096 2012-03-16 17:58 .cache
lrwxrwxrwx 1 valorin valorin    33 2012-03-08 20:37 .ecryptfs -> /home/.ecryptfs/valorin/.ecryptfs
-rw-r--r-- 1 root    root    21954 2012-03-08 20:35 .face
lrwxrwxrwx 1 valorin valorin    32 2012-03-08 20:37 .Private -> /home/.ecryptfs/valorin/.Private
lrwxrwxrwx 1 valorin valorin    52 2012-03-08 20:37 README.txt -> /usr/share/ecryptfs-utils/ecryptfs-mount-private.txt
-rw------- 1 root    root      703 2012-03-17 17:10 .viminfo

ความคิดเห็นใดที่ฉันได้ทำไปแล้วและฉันจะแก้ไขได้อย่างไร

UPDATE:

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

ดังนั้นคำถามใหม่ของฉันฉันจะให้รหัสผ่านโดยอัตโนมัติหลังจากที่ฉันเข้าสู่ระบบด้วยคีย์รับรองความถูกต้องของ SSH ได้อย่างไร


คุณได้รับพร้อมท์ให้ใส่รหัสผ่านเมื่อคุณเข้าสู่ระบบหรือไม่ มีข้อความ eCryptfs ใด ๆ ใน syslog หรือไม่
ดัสตินเคิร์กแลนด์

@DustinKirkland ดูการอัปเดตของฉันในคำถาม ฉันรู้ว่าเป็นเพราะฉันได้ตั้งค่าคีย์ SSH รับรองความถูกต้อง ... ดังนั้นจึงไม่มีการถามรหัสผ่าน
Stephen RC

ใช่แล้วมัน ;-) ฉันจะโพสต์คำตอบที่ดีกว่าด้านล่างตอนนี้
ดัสตินเคิร์กแลนด์

คำตอบ:


28

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

เพื่อแก้ปัญหานี้คุณจะต้องเพิ่มบรรทัดต่อท้ายของคุณเดินเท้า $ HOME / .profile:

ecryptfs-mount-private

สิ่งนี้จะช่วยให้มั่นใจได้ว่าหลังจากคุณเข้าสู่ระบบโดยใช้การรับรองความถูกต้องของคีย์สาธารณะ SSH คุณจะได้รับแจ้งให้ใส่รหัสผ่านของคุณและจะติดตั้งข้อมูลที่เข้ารหัสของคุณ ถ้ามันถูกเมาท์อยู่แล้วคำสั่งนี้ก็ควรจะประสบความสำเร็จอย่างเงียบ ๆ

สนุก!

การเปิดเผยแบบเต็ม: ฉันเป็นหนึ่งในผู้แต่งและผู้ดูแล eCryptfs


1
เยี่ยมมากขอบคุณที่ทำสิ่งที่ฉันต้องการอย่างแน่นอน :) ฉันต้องเพิ่มcd /home/$HOMEลงในไฟล์. profile เช่นกันเพื่อรีเฟรชแม้ว่าเมื่อถอดรหัสเสร็จแล้ว
Stephen RC

1
เพียงแค่พูดถึงว่าถ้าคุณใช้zshมันจะต้องมีการ~/.zprofileแทน~/.profile
ทิมมีโอมาห์นี

อาจจะช่วยคนอื่น: ฉันมีปัญหาที่ecryptfs-mount-privateดูเหมือนจะไม่ทำอะไรเลย; ไม่ได้ถามรหัสผ่าน มันกลับกลายเป็นว่ามันใช้งานได้และไม่ต้องการรหัสผ่านเพราะฉันได้ป้อนแล้วในขณะที่ใช้sudoอย่างอื่น แต่ฉันจำเป็นต้องเปลี่ยนไดเรกทอรีการทำงานปัจจุบัน/home/arthurกลับไปกลับมาอีกครั้งก่อนที่ฉันจะเห็นไฟล์ของฉัน
Arthur Tacca

ขอบคุณ @ TimmyO'Mahony! ฉันจะไม่เลือกใช้zshมัน แต่เป็นการติดตั้งใหม่ล่าสุดและฉันจำได้ว่าเห็นว่ามันไม่สามารถบันทึกประวัติ. zsh ของฉันได้ ...
Auspex

2

ลองทำสิ่งต่อไปนี้:

  1. ตรวจสอบให้แน่ใจว่า/etc/pam.d/common-sessionมีบรรทัดนี้:

     # Encrypt home
     session    optional    pam_ecryptfs.so unwrap
    
  2. ตรวจสอบให้แน่ใจว่า/etc/pam.d/common-authมีบรรทัดนี้:

     auth   optional    pam_ecryptfs.so unwrap
    
  3. ตรวจสอบให้แน่ใจว่า/etc/pam.d/sshdมีบรรทัดเหล่านี้:

     # Standard Un*x authorization.
     @include common-account
    
     # Standard Un*x session setup and teardown.
     @include common-session
    
  4. หากคุณเปลี่ยนรหัสผ่านของผู้ใช้เมื่อเร็ว ๆ นี้ให้ตรวจสอบ /etc/pam.d/common-password

    หากไม่มีบรรทัดนี้:

     password   optional    pam_ecryptfs.so
    

    จากนั้นคุณต้องใช้รหัสผ่านเก่าของคุณเพื่อกำหนดค่า ecryptfs อีกครั้ง

    ข้อเสนอแนะของฉันคือการเปลี่ยนบัญชีของคุณเป็นรหัสผ่านก่อนหน้าของคุณโดยใช้passwdแล้วเพิ่มบรรทัดด้านบนเป็น/etc/pam.d/common-passwordแล้วเปลี่ยนรหัสผ่านกลับไปเป็นรหัสผ่านใหม่

    หรือคุณสามารถลอง:

    ecryptfs-setup-private

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

  5. หากไม่มีการทำงานใด ๆ ข้างต้นให้ลองใช้งานecryptfs-setup-privateบางทีอาจจะช่วยแก้ไขบางอย่างได้

  6. ถ้ามันยังไม่ทำงานฉันก็หมดความคิดขอโทษ


ทุกอย่างนั้นดูดี ตรวจสอบการอัปเดตสำหรับคำถามของฉันฉันคิดว่าเป็นเพราะคีย์ SSH รับรองความถูกต้องที่ฉันได้ตั้งค่าไว้
Stephen RC

ลองเปลี่ยนoptionalไปในrequired common-accountแนวคิดก็คือแพมควรถามรหัสผ่านหากไม่ได้รับ อย่าลืมเปิดเซสชั่นไว้เพื่อไม่ให้คุณเสี่ยงกับการถูกล็อก
d_inevitable

"บัญชีทั่วไป" หมายถึงอะไร
Peter Fleix

2

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

มิฉะนั้นทางเลือกคือการทำงานecryptfs-mount-privateหลังจากที่คุณเข้าสู่ระบบด้วยกุญแจของคุณเพื่อถอดรหัสโฟลเดอร์บ้านของคุณด้วยตนเอง


มีวิธีการecryptfs-mount-privateทำงานโดยอัตโนมัติเมื่อฉันเข้าสู่ระบบ?
Stephen RC

เพียงอัปเดตลิงก์ "คำแนะนำเหล่านี้" ที่เสียหายเนื่องจากฉันต้องติดตามมันบนเครื่อง Wayback: stephen.rees-carter.net/th/tool/... ความคิดเพิ่มเติมเกี่ยวกับบทความอ้างอิง: แทนที่จะเก็บไว้ในเอกสารที่ได้รับอนุญาตเป็น /home/.ssh/ % u จัดเก็บ authorized_keys ใน /home/.ssh/%u/authorized_keys โดยที่ /home/.ssh/%u/ เป็นเจ้าของโดย% u:% u ด้วย 700 perms และเป็นเจ้าของไฟล์โดย% u 600 perms
Jeremy Lyons

@StephenRC สร้าง ~ / .profile ที่รัน ecryptfs-mount-private ในโฮมไดเร็กทอรีที่ไม่ได้เข้ารหัสของคุณ
Jeremy Lyons
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.