ssh-agent não é usado quando o ssh é iniciado a partir do ativador do painel (via 'gnome-terminal --command')

6

Eu tenho tudo configurado para que depois eu faça o login e adicione identidade adequada ao agente ssh usando ssh-add de uma janela do gnome-terminal, não preciso inserir a senha novamente quando invoco ssh myserver .

Agora, queria facilitar ainda mais e criar um iniciador de painel que fosse executado

gnome-terminal --command "ssh myserver"

mas enquanto isso invoca o que eu quero, ele ignora o ssh-agent, ou seja, ele pede pass-phrase . E isso acontece todas as vezes, mesmo se eu fornecer o PP, na próxima vez que ele perguntar novamente.

O que estou fazendo de errado? Alguém pode explicar por que isso não funciona?

Mais notas:

  • A execução de gnome-terminal --command "ssh myserver do terminal já aberto funciona OK

  • Alterando ssh myserver part para bash -c "ssh myserver" com a cotação correta não ajudou.

  • O uso também de ssh myserver no launcher não ajudou: o prompt de frase secreta foi exibido como uma janela de GUI simples (a menos que eu tenha marcado a opção "Executar no terminal", Nesse caso, o comportamento foi o mesmo descrito acima)

  • É o Ubuntu 12.04

  • adicionando -vvv ao comando ssh, aqui é onde a falha (e a requisição de PP) ssh começa a diferir do bem sucedido ssh:

    [...]
    debug1: Server accepts key: pkalg ssh-rsa blen 279
    debug2: input_userauth_pk_ok: fp 5e:ad:5e:1f:7f:...
    debug1: key_parse_private_pem: PEM_read_PrivateKey failed
    debug1: read PEM private key done: type <unknown>
    Enter passphrase for key '/home/lennycz/.ssh/id_rsa': 
    

    enquanto o ssh bem-sucedido diz

    [...]
    debug1: Server accepts key: pkalg ssh-rsa blen 279
    debug2: input_userauth_pk_ok: fp 5e:ad:5e:1f:7f:...
    debug1: Authentication succeeded (publickey).
    [...]
    

    (e muitas coisas aparentemente não relacionadas ...)

    Eu não encontrei nenhuma mensagem de depuração útil nem nada em system / auth logs.

por Alois Mahdal 10.12.2012 / 20:12

2 respostas

1

Suponho que você tenha seguido o artigo vinculado e modificado seu ~/.bashrc . No entanto, ~/.bashrc talvez nunca seja originado quando você estiver executando um comando a partir de um ativador de painel.

Uma maneira fácil de depurar é adicionar date > /tmp/bashrc_sourced ao final do seu ~/.bashrc e verificar se a hora atual é impressa no arquivo quando você chama o ativador do painel.

Nota relacionada: convém consultar keychain , que é especificamente projetado para gerenciar o ssh-agent para você.

    
por kynan 20.01.2013 / 01:00
0

Sugiro verificar se o SSH_AUTH_SOCK foi passado corretamente.

Eu tenho isso como parte do meu script de login no KDE:

export SSH_AUTH_SOCK="${HOME}/.ssh-agent.sock"
rm -f ${SSH_AUTH_SOCK}
ssh-agent -a ${SSH_AUTH_SOCK}

e isso no meu .bashrc:

export SSH_AUTH_SOCK="${HOME}/.ssh-agent.sock"
    
por fuero 18.01.2013 / 09:55