답변:
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
).)
gnome-keyring-daemon --help
. 방금 맨 페이지와 / usr / share / doc를 확인했습니다.
read -rsp "Password: " pass; echo -n "$pass" | gnome-keyring-daemon --login
스크립트에서.
gnome-keyring-daemon --help
좋은 개요를 제공하지만 man gnome-keyring-daemon
프로그램 자체에 대한 간단한 설명 만 포함하지만 인수는 없습니다.
키링 지원으로 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 지원과 관련된 방법을 찾아야했습니다. 몇 가지 검색 후 여기에서 그 길을 찾을 수있었습니다.
여기에서 핵심은 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를 시작할 때 특별한 플래그를 사용하지 않습니다.
먼저, 정말로하고 싶은 것은 커맨드 라인에서 Ubuntu One을 엄격하게 실행하는 것입니다. Ubuntu One FAQ를 살펴보십시오 . 자주 묻는 질문 말한다 는 현재 불가능하지만, 같은 일부 CLI 도구가 u1sdtool 및 u1sync은 . Launchpad의 Ubuntu One에 대한 FAQ 세트 도 있습니다 . 내용은 이전 wiki.ubuntu.com 링크와 동일 할 수 있습니다.
에 대한 실제 질문에 대해서는 그놈 - 키링 - 데몬 의 질문은 제안 로그인 암호 (1) 설정 자동 로그인 (2) 동기화하여 키링 암호를. 이것은 (이론적으로) 암호 프롬프트를 피할 것,하지만 것 적어도 기본적인 X-세션이 실행되도록해야합니다.
Launchpad에는 헤드리스 시스템을보다 쉽게 처리 할 수 있는 Ubuntu One 버그 / 위시리스트 가 있습니다. 경량 설치에는 모든 GUI 라이브러리 등이 필요하지 않도록 소스에서 빌드하는 것이 좋습니다. 이 의견 은 오래되었지만 특히 흥미 롭습니다.
문제는 python-gnomekeyring을 사용한다는 것입니다. 헤드리스를 지원하려면 파이썬 키링으로 전환하고 헤드리스 디스플레이에서 그놈 키링 이외의 토큰 저장을 처리해야합니다. 그러나 Karmic 패키징이 얼어 붙었을 때이 중 어느 것도 일어나지 않을 것이며,이 변경은 SRU에서 허용되지 않습니다.
Lucid의 경우보다 강력한 인증 서비스가 있어야 헤드리스 디스플레이를 더 잘 지원할 수 있습니다.
이 "보다 강력한 인증 서비스"가 실제로 Lucid를 위해 배치되었는지 알 수 없습니다. 패키지 종속성에 따라 Ubuntu One 클라이언트는 여전히 python-gnomekeyring에 의존하는 것 같습니다.
x-forwarded SSH 세션에서 mysql-workbench를 gnome-keyring과 함께 사용하는 데 성공했습니다. 이것은 공개 키 인증 (비밀번호)을 사용한 계정이었습니다.
ssh 세션에 연결되면 dbus-run-session을 사용하여 이것을 달성했습니다.
dbus-run-session bash -c 'GNOME_KEYRING_CONTROL=1 mysql-workbench --verbose'
이 정보가 누군가에게 유용하기를 바랍니다.
--login
해시되지 않은 암호를 스크립트에 보관하거나 명령 줄에 넣지 않으려는 경우 (언급되지 않은?) 옵션이 매우 유용합니다. 쉘이 아닌 스크립트 내에서 비정형 모드로 읽은 다음 해당 입력을 스폰 된 데몬에 전달하는 것이 좋습니다. 부팅 할 때마다이 프로세스를 시작하면되므로 암호를 입력하는 것이 좋습니다. GTK 대화 상자 대신 명령 줄에서 수행 할 수 있어야합니다.