답변:
원격 시스템에서 Gnome-keyring 또는 Kwallet을 실행할 수 있습니다. 각각은 데몬과 GUI의 두 가지 구성 요소로 제공됩니다.
X 전달로 ssh를 실행하면 원격 시스템에서 GUI 응용 프로그램을 실행할 수 있습니다. "서버"시스템이라고해서 GUI 응용 프로그램을 설치할 수 없다는 의미는 아닙니다. 해당 데스크톱 환경을 실행하는지 여부에 관계없이 응용 프로그램을 실행하기 위해 특정 데스크톱 환경이 필요하지 않습니다.
명령 행에서 Kwallet을 제어 할 수 qdbus
있지만 명령 행 에서 비밀번호를 일반 텍스트로 작성해야하므로 다른 사용자가 스누핑 할 수 있기 때문에이 특정 경우에는 좋지 않습니다. 이 SU 답변 도 참조하십시오 .
Gnome-keyring과 Kwallet (패키지 python-keyring-gnome
와 python-keyring-kwallet
) 모두에 대한 파이썬 바인딩이 있습니다 . 작은 파이썬 스크립트를 작성하여 제어 할 수 있습니다. 실제로 그놈 키링에는 이미 gkeyring이 있습니다.
키링 비밀번호가 로그인 비밀번호와 동일한 경우 로그인 할 수 있으며 로그인 libpam-keyring
할 때 키링이 자동으로 잠금 해제됩니다. 그러나이를 위해서는 키 쌍이 아닌 비밀번호로 로그인해야합니다.
Gnome-keyring 또는 Kwallet을 로컬에서 실행중인 경우 약간의 작업으로 ssh를 통해 전달할 수 있습니다. 그들은 ssh가 전달할 수없는 유닉스 소켓을 사용합니다. 그러나 socat
Unix 소켓을 TCP 소켓에 로컬로 릴레이하거나 다른 방법으로 원격 시스템에서 릴레이 할 수 있습니다 .
while true; do socat TCP-LISTEN:22007 UNIX-CONNECT:"$GNOME_KEYRING_SOCKET"; done &
ssh -R22007:localhost:22007 remote.example.com
export GNOME_KEYRING_SOCKET="$HOME/.gnome-keyring-socket"
while true; do socat UNIX-LISTEN:"$GNOME_KEYRING_SOCKET" TCP4:localhost:22007; done &
각 측면에 작은 쉘 스크립트를 사용하여 RemoteForward
라인을 자동화하여 자동화 할 수 있습니다 ~/.ssh/config
. 이론적으로 원격 시스템에서 그놈 키링에 액세스 할 수 있어야합니다. 그러나 나는 해마로 액세스하려고 시도했지만 연결하려고 시도조차하지 않았습니다 $GNOME_KEYRING_SOCKET
. 이유를 모르겠으며 svn이 키 링에 액세스 할 수 있는지 알 수 없습니다.
암호화 된 파일 시스템에 svn 암호를 저장할 수 있습니다. 몇 가지 옵션이 있습니다 . 가장 간단한 방법은 encfs
입니다. 초기 설정 :
sudo aptitude install encfs
encfs ~/.passwords.encrypted ~/.passwords
mv ~/.subversion/auth ~/.passwords/svn-auth
ln -s ../.passwords/svn-auth ~/.subversion/auth
일반적인 작업 과정 :
encfs ~/.passwords.encrypted ~/.passwords
... work ...
fusermount -u ~/.passwords
이 방법은 여러 가지 이유로 선호합니다.
~/.subversion/auth
매달려있는 심볼릭 링크가됩니다. 이 경우 subversion은 암호를 저장한다고 알려주지 만 (알림을 해제하지 않은 경우) 실제로는 아무 곳에도 저장하지 않습니다 (svn 1.6.6으로 테스트). 따라서 세 번째 접근 방식에는 위험이 없습니다.
gpg는 암호를 가진 파일을 암호화하지만, 암호를 입력해야합니다 (개인 키를 잃어 버리지 마십시오!).
나는 당신이 개인 키를 svn에 체크인 할 수있을뿐만 아니라 그것을 사용하기 위해 여전히 암호 구가 필요할 것이라고 생각하지만,이 전체 설정은 조금 이상해 보입니다.
왜 이렇게해야합니까?