X없이 그놈 키링 데몬 사용


25

X없이 gnome-keyring-daemon을 사용할 수 있는지 궁금합니다. 일반적으로 키링의 암호를 얻기 위해 그래픽 프롬프트가 표시됩니다. 이 주위에 방법이 있습니까? 그래픽 세션을 시작하지 않고 우분투를 사용하고 암호를 입력하고 싶습니다.

답변:


11

pam_gnome_keyring.so데몬을 시작하고 잠금 해제하는 데 사용할 수 있습니다 . GDM은 이미이 작업을 수행합니다. 의 login경우 수동으로 구성해야합니다.

이 행을 /etc/pam.d/login다음에 추가하십시오 .

인증 옵션 pam_gnome_keyring.so
세션 옵션 pam_gnome_keyring.so auto_start

비밀번호없이 (Kerberos 또는 공개 키를 사용하는 SSH) 로그인하지 않으면 다음과 같이 작동 할 수 있습니다. (테스트하지 않았습니다)

echo -n "mypassword"| 그놈 키링 데몬-로그인

(여전히 데몬이 실행 중이어야합니다 (PAM 또는로 시작 --daemonize).)


두 번째 경우는 내 경우입니다. --login해시되지 않은 암호를 스크립트에 보관하거나 명령 줄에 넣지 않으려는 경우 (언급되지 않은?) 옵션이 매우 유용합니다. 쉘이 아닌 스크립트 내에서 비정형 모드로 읽은 다음 해당 입력을 스폰 된 데몬에 전달하는 것이 좋습니다. 부팅 할 때마다이 프로세스를 시작하면되므로 암호를 입력하는 것이 좋습니다. GTK 대화 상자 대신 명령 줄에서 수행 할 수 있어야합니다.
intuited

1
err .. nevermind,에 의해 문서화됩니다 gnome-keyring-daemon --help. 방금 맨 페이지와 / usr / share / doc를 확인했습니다.
intuited

2
@intuited : 글쎄, 다음과 같이하십시오 : read -rsp "Password: " pass; echo -n "$pass" | gnome-keyring-daemon --login스크립트에서.
grawity

실제로 그렇습니다. 에코가 내장되어 있다는 것을 잊고있었습니다.
직관

@intuited의 오래된 의견에 대한 대답 : gnome-keyring-daemon --help좋은 개요를 제공하지만 man gnome-keyring-daemon프로그램 자체에 대한 간단한 설명 만 포함하지만 인수는 없습니다.
feeela 2016 년

10

개요

키링 지원으로 svn을 설치하고 Collabnet keyring_tool 응용 프로그램을 설치하는 데 필요한 작업은 Linux 서버에서 이미 수행되었습니다.

1) 키링을 사용하도록 SVN 클라이언트를 구성하십시오.

1.1) ~ / .subversion / config 편집

[auth]
password-stores = gnome-keyring

1.2) ~ / .subversion / servers 편집

[global]
store-passwords = yes
store-plaintext-passwords = no

2) 암호 키링을 만듭니다. 키링 잠금을 해제하기 위해 새 비밀번호를 작성하라는 메시지가 표시됩니다. 이것은 당신이 원하는 무엇이든 될 수 있습니다 :

keyring_tool --create=svn

3) 새 키링을 기본값으로 설정하십시오.

keyring_tool --setdef=svn

4) .bash_profile 또는 .bash_login에서 (bash를 터미널로 사용한다고 가정)

    if [ -e /usr/bin/gnome-keyring-daemon ]; then
      if [ ! -z "`kill -0 $GNOME_KEYRING_PID 2>&1`" ]; then
        # Create dbus transport link for SVN to talk to the keyring.
        eval `dbus-launch --sh-syntax`

        # Start the keyring daemon.
        # The use of export here captures the GNOME_KEYRING_PID, GNOME_KEYRING_SOCK
        # env values echoed out at startup.
        export `/usr/bin/gnome-keyring-daemon`
      fi
    fi

5) .bash_logout에서

    # Kill the message bus established for SVN / Keyring communication
    if [ ! -z "`kill -0 $DBUS_SESSION_BUS_PID 2>&1`" ]; then
      kill $DBUS_SESSION_BUS_PID > /dev/null 2>&1
    fi

    # Kill the Gnome Keyring Daemon prior to logout.
    if [ ! -z "`kill -0 $GNOME_KEYRING_PID 2>&1`" ]; then
      kill $GNOME_KEYRING_PID > /dev/null 2>&1
    fi

배경

승인 된 사용자가 직장에서 특정 SVN 저장소에 액세스 할 수있는 번거 로움없는 방법을 찾으려고하면서 비슷한 문제가 발생했습니다. 기본적으로 우리는 사용자가 서버에 액세스 할 때마다 자격 증명 검사를 수행해야했기 때문에 svn update 명령조차 인증이 필요했습니다. 명백한 일반 텍스트 암호 저장 공간이 확보되었으므로 인증되지 않은 사용자를 리포지토리 외부에 유지하면서 일정한 인증 요청으로 사용자를 괴롭히는 방법으로 그놈 키링을 사용하는 약간의 연구를 통해 약간의 연구를 수행했습니다.

우리의 일상 업무 중 대부분은 ssh 터널을 통해 X 지원없이 RedHat 서버로 수행되므로 X11 지원과 관련된 방법을 찾아야했습니다. 몇 가지 검색 후 여기에서 그 길을 찾을 수있었습니다.

소스 자료

http://support.wandisco.com/index.php?/Knowledgebase/Article/View/362/17/how-to-setup-encrypted-svn-password-storage-using-gnome-keyring-in-an-ssh -세션

여기에서 핵심은 Collabnet keyring_tool을 사용하여 gnome-keyring-manager 클라이언트없이 키링을 만들고 SVN이 설정을 처리하도록하는 대신 dbus를 시작하는 것입니다. SVN은 DBUS를 사용하여 그놈 키링 데몬에 연결하고 전체 인증에 영향을줍니다. -sh-syntax를 사용하여 dbus 세션을 수동으로 시작하고 해제하면 dbus 시작시 X 클라이언트에 연결하지 않아도됩니다. gnome-keyring-daemon을 시작하고 SVN을 사용하려고 시도하면 여전히 키링 암호를 입력하라는 메시지가 표시되지만 SVN 자격 증명을 입력하라는 메시지가 표시됩니다. SVN은 X 클라이언트가 없기 때문에 SVN이 시작하려고하면 실패합니다. 분명히 SVN은 dbus를 시작할 때 특별한 플래그를 사용하지 않습니다.


git pull에서 "CRITICAL ** : gnome-keyring-daemon과의 통신 오류"오류를 제거하기 위해 머리카락을 뽑아 왔습니다. ~ / .profile 및 ~ / .bash_logout에 대한 변경 사항이 수정되었습니다 ... 여전히 암호를 저장하지는 않지만 한 걸음 더 가까이 있습니다! (Ubuntu 16.04.1 LTS)
Chris B

1

먼저, 정말로하고 싶은 것은 커맨드 라인에서 Ubuntu One을 엄격하게 실행하는 것입니다. Ubuntu One FAQ를 살펴보십시오 . 자주 묻는 질문 말한다 는 현재 불가능하지만, 같은 일부 CLI 도구가 u1sdtoolu1sync은 . Launchpad의 Ubuntu One에 대한 FAQ 세트 도 있습니다 . 내용은 이전 wiki.ubuntu.com 링크와 동일 할 수 있습니다.

에 대한 실제 질문에 대해서는 그놈 - 키링 - 데몬질문은 제안 로그인 암호 (1) 설정 자동 로그인 (2) 동기화하여 키링 암호를. 이것은 (이론적으로) 암호 프롬프트를 피할 것,하지만 적어도 기본적인 X-세션이 실행되도록해야합니다.

Launchpad에는 헤드리스 시스템을보다 쉽게 ​​처리 할 수 있는 Ubuntu One 버그 / 위시리스트 가 있습니다. 경량 설치에는 모든 GUI 라이브러리 등이 필요하지 않도록 소스에서 빌드하는 것이 좋습니다. 이 의견 은 오래되었지만 특히 흥미 롭습니다.

문제는 python-gnomekeyring을 사용한다는 것입니다. 헤드리스를 지원하려면 파이썬 키링으로 전환하고 헤드리스 디스플레이에서 그놈 키링 이외의 토큰 저장을 처리해야합니다. 그러나 Karmic 패키징이 얼어 붙었을 때이 중 어느 것도 일어나지 않을 것이며,이 변경은 SRU에서 허용되지 않습니다.

Lucid의 경우보다 강력한 인증 서비스가 있어야 헤드리스 디스플레이를 더 잘 지원할 수 있습니다.

이 "보다 강력한 인증 서비스"가 실제로 Lucid를 위해 배치되었는지 알 수 없습니다. 패키지 종속성에 따라 Ubuntu One 클라이언트는 여전히 python-gnomekeyring에 의존하는 것 같습니다.


0

x-forwarded SSH 세션에서 mysql-workbench를 gnome-keyring과 함께 사용하는 데 성공했습니다. 이것은 공개 키 인증 (비밀번호)을 사용한 계정이었습니다.

ssh 세션에 연결되면 dbus-run-session을 사용하여 이것을 달성했습니다.

dbus-run-session bash -c 'GNOME_KEYRING_CONTROL=1 mysql-workbench --verbose'

이 정보가 누군가에게 유용하기를 바랍니다.


이것은 mysql-workbench가 docker container 내에서 실행되고 디스플레이를 내 mac 호스트로 내보내는 데 도움이되었습니다. 새 연결에 암호를 추가하려고하면 프롬프트가 표시되지만 pwd를 입력하면 "프로그램 org.freedesktop.secrets 실행 실패 : 작업이 허용되지 않습니다"라는 메시지가 표시됩니다. 단서가 있습니까?
Ricardo Pesciotta
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.