Como o cronômetro do OS X pode usar o ssh-agent existente sem o ambiente?

1

Procurei em todos os fóruns e não encontrei uma resposta para isso, ou com mais frequência, a questão é diferente.

O cliente é o OS X El Capitan. Estou logado, e minha chave ssh ( com frase secreta ) está devidamente armazenada no chaveiro. Tudo funciona bem manualmente: eu posso ssh para o meu servidor, onde eu já armazenei minha chave pública, sem ser solicitado a senha. OS X carrega no ssh-agent no login.

Mas é claro que meu script para ssh para meu servidor não funciona no cron da minha conta, porque o ambiente não tem a variável SSH_AUTH_SOCK. Eu recebo a senha.

Eu consigo fazer com que ele funcione sem supervisão assim:

my $sock = 'ls /private/tmp/com.apple.launchd.*/Listeners'; chomp($sock);
system("SSH_AUTH_SOCK=$sock  /usr/bin/ssh myhost mycommand") && die "blah: $!";

Mas isso parece um truque grosseiro. O chaveiro é de difícil acesso, mas tem potencial para ser realmente doce. Não consigo imaginar que não exista uma maneira limpa de acessá-lo.

    
por joe 07.05.2016 / 09:10

0 respostas

Tags