명령 행을 통해 기본 키링 비밀번호를 입력하는 방법은 무엇입니까?


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
이 패키지는 더 이상 우분투와 함께 제공되지 않습니다 :(
Grief

다음은 libsecret (새로운 gnome-keyring에서 사용됨) man의 정보입니다. "libsecret에서는 항목을 직접 잠금 해제 할 수 있으며 그 결과 (gnome-keyring 데몬을 사용하여) 묶음 모음의 잠금이 해제됩니다. 키링 잠금을 해제하려면 암호를 입력하십시오. 자동으로 프롬프트됩니다. "
Grief

1

이것은 확실히 작동합니다!

많은 시행 착오를 거친 후에도 이전의 훼이 패키지 "pam-keyring"에는 여전히 "pam-keyring-tool"이 포함되어 있으며 명령 줄에서 키 링의 잠금을 해제하는 데 사용할 수 있습니다. 우분투는 보안상의 이유로 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

헤이 프레스토!


1

Stefano에게 감사합니다! 그의 대답은 반쯤 나왔지만 기본적 으로이 방법은 로컬 컴퓨터에서 파이썬 스크립트를 실행할 때만 작동한다는 것을 알았습니다. 로컬로 실행중인 경우 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

링크에 제공된 grep 패턴이 저에게 효과가 없다는 것은 가치가 없으므로 위의 것과 약간 다릅니다.


MINT 17.2에서 그놈 세션을 메이트 세션으로 변경해야했습니다.
Frankster
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.