Làm cách nào để nhập mật khẩu Khóa mặc định thông qua dòng lệnh?


12

Có cách nào để nhập mật khẩu khóa mặc định bằng dòng lệnh không?

Ví dụ:

Bạn có một thiết lập từ xa Ubuntu 10.10 được đặt thành tự động đăng nhập. Bạn không muốn xóa mật khẩu khóa.

Tất cả đều đúng hệ thống khởi động và đăng nhập tự động, sau đó yêu cầu nhập mật khẩu khóa tại thời điểm này, bạn có thể tạo kết nối ssh nhưng bạn không thể từ xa máy tính để bàn.

Bạn có thể làm gì để nhập mật khẩu khóa vào thời điểm này?

Ngoài ra, để làm rõ hơn, đây là từ một kết nối từ xa bằng cách sử dụng dòng lệnh.

Câu trả lời:


10

Nhờ python-gnomekeyring , điều này tương đối dễ dàng:

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

Hoặc như một kịch bản phù hợp:

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

Tôi nghĩ bạn không cần phải cài đặt gói. Nhưng nó không thể đau để thử.


Hãy nhớ rằng lưu trữ mật khẩu của bạn trên đĩa cứng là một rủi ro bảo mật rất lớn. Bạn nên sử dụng cái này thay thế:

#!/usr/bin/env python

import gnomekeyring
import getpass

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

Bạn có thể lưu tập lệnh này, ví dụ, unlock-keyring.pysau đó thực hiện như sau:

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

Từ đó, bạn luôn có thể gõ unlock-keyring và được nhắc nhập mật khẩu. Đừng làm điều này với phiên bản chứa mật khẩu của bạn .

Bạn có thể thay thế None bằng tên của khóa, ví dụ: 'session'nếu bạn muốn mở khóa không phải là mặc định.


Tôi đang có một thời gian khó khăn để kiểm tra điều này đúng cách, vì vậy xin vui lòng cho tôi biết nếu nó không hoạt động và tôi sẽ xem xét nó ngay lập tức. Cũng cho tôi biết nếu nó hoạt động :-)


1
Gói này không được gửi cùng với Ubuntu nữa :(
Đau buồn

Dưới đây là một số thông tin từ libsecret (được sử dụng trong khóa gnome-keyring mới): "Trong libsecret, bạn có thể mở khóa các mục trực tiếp và kết quả là (với trình nền gnome-keyring) rằng bộ sưu tập kèm theo sẽ được mở khóa. vượt qua mật khẩu để mở khóa dây khóa. Chúng được tự động nhắc nhở. "
Đau buồn

1

Điều này chắc chắn hoạt động !!

Sau nhiều thử nghiệm và sai sót, tôi thấy rằng gói "pam-keyring" cũ kỹ vẫn chứa "pam-keyring-tool" mà bạn có thể sử dụng để mở khóa dây khóa từ dòng lệnh. Ubuntu đã lấy công cụ ra khỏi gói sau khi phát hành phong kiến, có lẽ vì lý do bảo mật ???

Nó ở đây:-

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

giải nén nó ở nơi bạn muốn, sau đó làm: -

./configure
make

bạn KHÔNG cài đặt vì bạn không muốn nó nâng cấp gói bất cứ lúc nào.

sau đó chỉnh sửa tập tin cấu hình đăng nhập bài đăng RC.local để trông như thế này: -

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

này uy thế!


1

Cảm ơn Stefano! Câu trả lời của anh ấy đã đưa tôi đến nửa chừng, nhưng tôi đã tìm thấy phương thức này, theo mặc định, chỉ hoạt động khi chạy tập lệnh python từ máy cục bộ. Nếu bạn đang chạy cục bộ, bạn có quyền truy cập vào khóa Gnome. Tôi muốn có thể chạy tập lệnh của anh ấy thông qua phiên SSH, nhưng vẫn nhận được "gnomekeyring.IOerror", vì không thể truy cập khóa. Sau khi googling nhiều, tôi tìm thấy giải pháp @ https://ask.fedoraproject.org/en/question/45246/error-cransicating-with-gnome-keyring-daemon-in-ssh-session/

Để chắt lọc trang đó xuống thành phần thích hợp nhất áp dụng cho tình huống này, hãy thêm phần sau vào tập lệnh .bashrc của bạn.

# 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

Không có gì đáng nói khi mẫu grep được cung cấp trong liên kết không hoạt động với tôi, vì vậy mẫu tôi có ở trên hơi khác một chút.


Vào MInt 17.2, tôi đã phải đổi phiên gnome thành phiên giao phối
frankster
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.