-
Você pode executar o keyring do Gnome ou o Kwallet na máquina remota. Cada um vem em dois componentes, um daemon e uma GUI.
-
Você pode executar o aplicativo da GUI na máquina remota se executar o ssh com o encaminhamento do X. Só porque é uma máquina "servidor" não significa que você não pode instalar aplicativos GUI nele. Não importa se você está executando o ambiente de área de trabalho correspondente ou não, os aplicativos não precisam de um ambiente de área de trabalho específico para serem executados.
-
Você pode controlar o Kwallet na linha de comando através de
qdbus
, embora não seja uma boa idéia neste caso específico, porque você teria que escrever sua senha em texto puro em uma linha de comando, e isso pode ser espionado por outros usuários. Veja também esta resposta SU . -
Há uma ligação de python para o keyring do Gnome e o Kwallet (packages
python-keyring-gnome
epython-keyring-kwallet
); você poderia escrever um pequeno script python para controlá-los. Na verdade, já existe um para o keyring do Gnome: gkeyring . -
Se a senha do seu chaveiro é igual à sua senha de login, você pode instalar o
libpam-keyring
e seu chaveiro será desbloqueado automaticamente quando você efetuar login. No entanto, isso requer login com uma senha em vez de um par de chaves .
-
-
Se você estiver executando o Gnome-keyring ou o Kwallet localmente, poderá encaminhá-los por meio do ssh, com um pouco de trabalho. Eles usam soquetes Unix, que o ssh não pode encaminhar. Mas você pode usar
socat
relay os soquetes Unix para soquetes TCP localmente e o contrário na máquina remota: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 &
Isso pode ser automatizado com pequenos scripts de shell em cada lado e uma linha
RemoteForward
em~/.ssh/config
. Teoricamente, você deve poder acessar o chaveiro gnome da máquina remota. No entanto, tentei acessá-lo com cavalos-marinhos e nem tentei me conectar a$GNOME_KEYRING_SOCKET
; Eu não sei porque, e eu não sei se o svn seria capaz de acessar o chaveiro. -
Você pode armazenar sua senha svn em um sistema de arquivos criptografado. Existem várias opções ; Acho que a maneira mais simples de começar é
encfs
. Configuração inicial:sudo aptitude install encfs encfs ~/.passwords.encrypted ~/.passwords mv ~/.subversion/auth ~/.passwords/svn-auth ln -s ../.passwords/svn-auth ~/.subversion/auth
Fluxo de trabalho normal:
encfs ~/.passwords.encrypted ~/.passwords ... work ... fusermount -u ~/.passwords
Esse método tem minha preferência por vários motivos:
- A configuração inicial e o fluxo de trabalho normal são muito simples.
- Não importa de onde você faz login, em particular você não precisa ter um servidor X local e usar o X forwarding sobre ssh.
- Um sistema de arquivos criptografado é mais versátil que um chaveiro (embora seja menos conveniente para uso de chaveiro, mas no caso do svn isso não importa).
- A única ferramenta não onipresente de que você precisa é o encfs (que requer o FUSE) e é empacotada para o Ubuntu.