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


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.