วิธีการป้อนรหัสผ่านพวงกุญแจเริ่มต้นผ่านบรรทัดคำสั่ง?


12

มีวิธีการป้อนรหัสผ่านพวงกุญแจเริ่มต้นโดยใช้บรรทัดคำสั่งหรือไม่

ตัวอย่างเช่น

คุณมีการตั้งค่าระยะไกลของ Ubuntu 10.10 ที่ตั้งค่าให้เข้าสู่ระบบอัตโนมัติ คุณไม่ต้องการลบรหัสผ่านของพวงกุญแจ

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

คุณสามารถทำอะไรเพื่อป้อนรหัสผ่านพวงกุญแจ ณ จุดนี้

นอกจากนี้เพื่อให้ชัดเจนยิ่งขึ้นนี่คือจากการเชื่อมต่อระยะไกลโดยใช้บรรทัดคำสั่ง

คำตอบ:


10

ขอบคุณpython-gnomekeyringทำให้ค่อนข้างง่าย:

python -c "import gnomekeyring;gnomekeyring.unlock_sync(None, 'my password');"

หรือเป็นสคริปต์ที่เหมาะสม:

#!/usr/bin/env python
import gnomekeyring
gnomekeyring.unlock_sync(None, 'my password');

ฉันคิดว่าคุณไม่จำเป็นต้องติดตั้งแพ็คเกจ แต่ก็ไม่สามารถเจ็บปวดได้


โปรดทราบว่าการจัดเก็บรหัสผ่านของคุณในฮาร์ดดิสก์ของคุณเป็นความเสี่ยงด้านความปลอดภัยอันยิ่งใหญ่ คุณควรใช้สิ่งนี้แทน:

#!/usr/bin/env python

import gnomekeyring
import getpass

gnomekeyring.unlock_sync(None, getpass.getpass('Password: '));

คุณสามารถบันทึกสคริปต์นี้ตัวอย่างเช่นunlock-keyring.pyแล้วทำต่อไปนี้:

sudo mv unlock-keyring.py /usr/bin/unlock-keyring
sudo chmod a+x /usr/bin/unlock-keyring

จากนั้นคุณสามารถพิมพ์unlock-keyringและขอรหัสผ่านได้ตลอดเวลา อย่าทำอย่างนี้กับรุ่นที่มีรหัสผ่านของคุณ

คุณสามารถแทนที่Noneด้วยชื่อของพวงกุญแจของคุณเช่น'session'หากคุณต้องการปลดล็อคที่ไม่ใช่ค่าเริ่มต้น


ฉันกำลังทดสอบเรื่องนี้อย่างหนักดังนั้นโปรดแจ้งให้เราทราบว่ามันใช้งานไม่ได้หรือไม่และฉันจะดูทันที แจ้งให้ฉันทราบด้วยหากทำงาน :-)


1
แพ็คเกจนี้ไม่ได้จัดส่งกับ Ubuntu อีกต่อไป :(
ความเศร้าโศก

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

1

ได้ผลแน่นอน !!

หลังจากการทดลองและข้อผิดพลาดมากมายฉันพบว่าแพ็คเกจ feisty แบบเก่า "pam-keyring" ยังคงมี "pam-keyring-tool" ซึ่งคุณสามารถใช้เพื่อปลดล็อค keyrings จากบรรทัดคำสั่ง อูบุนตูหยิบเครื่องมือออกจากบรรจุภัณฑ์หลังจากเปิดตัว feisty บางทีด้วยเหตุผลด้านความปลอดภัย ???

ที่นี่:-

wget https://launchpad.net/ubuntu/+archive/primary/+files/pam-keyring_0.0.8.orig.tar.gz

แกะกล่องตามที่คุณต้องการจากนั้นทำ: -

./configure
make

คุณไม่ต้องทำการติดตั้งเพราะคุณไม่ต้องการให้อัปเกรดแพ็คเกจได้ทุกเมื่อ

จากนั้นแก้ไขไฟล์ rc.local โพสต์เข้าสู่ระบบเพื่อให้มีลักษณะเช่นนี้: -

sudo gedit /etc/rc.local 

exec echo ENTER_YOUR_PASSWORD_HERE | /PATH_TO_PAM_KEYRING_TOOL/pam-keyring-tool --keyring=login -u -s

exit 0

เฮ้ presto!


1

ขอบคุณ Stefano! คำตอบของเขาพาฉันไปที่นั่นครึ่งหนึ่ง แต่ฉันพบวิธีการตามค่าเริ่มต้นทำงานได้เฉพาะเมื่อเรียกใช้สคริปต์ไพ ธ อนจากเครื่องท้องถิ่น หากคุณใช้งานในพื้นที่คุณสามารถเข้าถึงพวงกุญแจ Gnome ได้ ฉันต้องการที่จะสามารถเรียกใช้สคริปต์ของเขาผ่านเซสชั่น SSH แต่ได้รับ "gnomekeyring.IOerror" ต่อเนื่องเพราะพวงกุญแจไม่สามารถเข้าถึงได้ หลังจาก googling มากฉันพบวิธีแก้ปัญหา @ https://ask.fedoraproject.org/en/question/45246/error-communicating-with-gnome-keyring-daemon-in-ssh-session/

ในการกลั่นหน้านั้นลงไปยังส่วนที่เกี่ยวข้องที่สุดที่ใช้กับสถานการณ์นี้ให้เพิ่มสิ่งต่อไปนี้ในสคริปต์. bashrc ของคุณ

# Export $DBUS_SESSION_BUS_ADDRESS when connected via SSH to enable access
# to gnome-keyring-daemon.
if [[ -n $SSH_CLIENT ]]; then
    export $(cat /proc/$(pgrep "gnome-session" -u "$USER")/environ | grep -z "DBUS_SESSION_BUS_ADDRESS=")
fi

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


ใน MInt 17.2 ฉันต้องเปลี่ยน gnome-session เป็น mate-session
frankster
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.