Як ввести пароль за замовчуванням через командний рядок?


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), що колекція, що додається, буде розблокована. Це вже неможливо введіть пароль для розблокування брелок. Це автоматично буде запропоновано. "
горе

1

Це працює точно!

Після багато проб і помилок я виявив, що старий фейст-пакет "pam-keyring" все ще містить "pam-keyring-інструмент", який можна використовувати для розблокування брелок з командного рядка. Ubuntu вийняв інструмент із пакета після звільнення, можливо, з міркувань безпеки ???

Це тут:-

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

ей престо!


1

Дякую Стефано! Його відповідь отримала мене на півдорозі, але я знайшов, що метод за замовчуванням працює лише під час запуску сценарію python з локальної машини. Якщо ви працюєте локально, у вас є доступ до брелоку Gnome. Я хотів мати змогу запустити його сценарій через сеанс SSH, але продовжував отримувати "gnomekeyring.IOerror", тому що брелок не був доступний. Після багатого гуглінгу я знайшов рішення @ 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

Нічого не варто, щоб схема грепа, надана у посиланні, не працювала для мене, тому той, що я маю вище, трохи відрізняється.


У MInt 17.2 мені довелося змінити gnome-session на mate-session
франкстер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.