ssh-agent sendo executado de maneira diferente em duas VMs

1

Eu tenho duas VMs do openSUSE 13.1. Ambos foram configurados para executar ssh-agent e ssh-add quando o KDE é carregado. Isso é feito por meio do arquivo .bash_profile usando o seguinte código:

# Load SSH agent

SSH_DIR="${HOME}/.ssh"
SSH_ENV="${SSH_DIR}/environment"

function start_agent {
     echo "Initialising new SSH agent..."
     /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
     echo succeeded
     chmod 600 "${SSH_ENV}"
     . "${SSH_ENV}" > /dev/null

     for key in ${SSH_DIR}/{id_rsa}
     do
          ssh-add ${key}
     done
}

# Source SSH settings, if applicable

if [ -f "${SSH_ENV}" ]; then
     . "${SSH_ENV}" > /dev/null
    #ps ${SSH_AGENT_PID} doesn't work under cywgin
     ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
         start_agent;
     }
else
     start_agent;
fi

Isso funciona em uma das VMs. Eu sou solicitado a digitar a senha para a minha chave SSH quando o KDE for iniciado (mas antes que ela esteja totalmente carregada). A execução de ps indica apenas uma instância singular de ssh-agent .

Na outra VM, no entanto, isso não funciona. Eu devo ter mudado alguma coisa sem pensar porque funcionou em determinado momento. Eu não recebo a solicitação da minha senha de chave SSH. No entanto, a execução de ps indica algumas instâncias de ssh-agent em execução e aparentemente de diferentes pontos de iniciação:

 1231 ?        S      0:00 /usr/bin/dbus-launch --sh-syntax --close-stderr --exit-with-session /usr/bin/ssh-agent /etc/X11/xinit/xinitrc
 1233 ?        Ss     0:00 /usr/bin/ssh-agent /etc/X11/xinit/xinitrc

Eu estou supondo que, como o ssh-agent já está em execução, a instância tentada por meio do arquivo .bash_profile falha. Eu sei que se eu executar echo ${SSH_ENV} no sistema em que funciona, obtenho /home/msnyder/.ssh/environment . Fazer o mesmo na VM que não está funcionando não retorna nada.

No passado, eu rodava ssh-askpass através do diretório Autostart do KDE. Eu optei por um método mais orientado para shell, apesar do que estou fazendo (e tentando fazer) agora.

Eu não sei o que está causando essa diferença. As entradas .bash_profile são idênticas. Alguém tem uma ideia?

EDIT: kdm parece estar lançando ssh-agent . Eu não consigo descobrir o porquê.

root       751  0.0  0.0  24612   308 ?        Ss   16:42   0:00 /usr/bin/kdm
root       784  1.7 10.7 282468 110040 tty7    Ssl+ 16:42   0:29  \_ /usr/bin/Xorg -br :0 vt7 -nolisten tcp -auth /var/lib/kdm/AuthFiles/A:0-eGk8Rb
root      1086  0.0  0.0  78344   556 ?        S    16:42   0:00  \_ -:0         
msnyder   1110  0.0  0.0  13092   304 ?        Ss   16:42   0:00      \_ /bin/sh /usr/bin/startkde
msnyder   1233  0.0  0.0  12564    76 ?        Ss   16:42   0:00          \_ /usr/bin/ssh-agent /etc/X11/xinit/xinitrc

Tanto quanto sei, não configurei KDE / kdm para fazer isso.

    
por theillien 03.04.2014 / 05:11

0 respostas