[SP-pm] Como ler o 'filho' de um processo 'filho' criado via o open2/3 ?

Alexei Znamensky russoz at gmail.com
Thu Jul 17 07:50:57 PDT 2008


Cara, eu nao manjo de openvpn, mas pelo que to vendo na man page, acho que a
solução The Right Way(TM) é você fazer certificados, e usá-los para
autenticação. Procure a seção *TLS Mode Options* na man page.

Se for isso mesmo, daí ou você cria os certificados sem encriptação na chave
local, ou você usa a opção:
*--askpass [file]* Get certificate password from console or *file* before we
daemonize.

For the extremely security conscious, it is possible to protect your private
key with a password. Of course this means that every time the OpenVPN daemon
is started you must be there to type the password. The *--askpass* option
allows you to start OpenVPN from the command line. It will query you for a
password before it daemonizes. To protect a private key with a password you
should omit the *-nodes* option when you use the *openssl* command line tool
to manage certificates and private keys.
HTH

Cheers,
Alexei



2008/7/17 Solli Honorio <shonorio em gmail.com>:

> Ola pessoal, estou com um problema para tentar 'automatizar' um openvpn que
> está muito chato e estou implorando pela ajuda dos universitário.
>
> Eu preciso fazer um cliente do openvpn 'subir' sem a intervenção humana,
> tentei utilizar o '--auth-user-pass' sem sucesso (se alguém souber como
> fazer esta opção funcionar ficarei feliz do mesmo jeito, e prometo que eu
> tentei um monte de coisa), então pensei: 'simples, vou fazer um script com o
> IPC::Open2 ou IPC::Open3 e vou fazer a manutenção da barriga de chop'.
>
> Pois bem, fiz os script e descobri que o cliente do openvpn cria uma outra
> 'thread' e mandam a mensagem requisitando o usuário e senha neste 'filho'.
> Então o open2/3 abre e fica aguardando o output do cara criado, e este
> recebe depois que eu digito o usuário e a senha. capturando este cara via o
> strace eu peguei o log abaixo.
>
> Então a minha dúvida é se tem como interagir com esta coisa que eu acredito
> ser um stdin e stdout de uma outra thread, ou eu estou comendo bola :( !!!!
>
> Obrigadooooo !!
>
>
> <log_do_strace>
> 5092  send(3, "<29>Jul 17 10:44:49 ovpn-client["..., 111, MSG_NOSIGNAL) =
> 111
> 5092  open("/dev/tty", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 4
> 5092  fstat64(4, {st_mode=S_IFCHR|0666, st_rdev=makedev(5, 0), ...}) = 0
> 5092  ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon
> echo ...}) = 0
> 5092  mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
> -1, 0) = 0xb7f3a000
> 5092  write(4, "Enter Auth Username:", 20) = 20
> 5092  close(4)                          = 0
> 5092  munmap(0xb7f3a000, 4096)          = 0
> 5092  open("/dev/tty", O_RDONLY)        = 4
> 5092  fstat64(4, {st_mode=S_IFCHR|0666, st_rdev=makedev(5, 0), ...}) = 0
> 5092  ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon
> echo ...}) = 0
> 5092  mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
> -1, 0) = 0xb7f3a000
> 5092  read(4, "alguma_coisa\n", 4096)   = 6
> 5092  close(4)                          = 0
> 5092  munmap(0xb7f3a000, 4096)          = 0
> 5092  open("/dev/tty", O_RDWR|O_CREAT|O_TRUNC, 0666) = 4
> 5092  fstat64(4, {st_mode=S_IFCHR|0666, st_rdev=makedev(5, 0), ...}) = 0
> 5092  ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost -isig icanon
> -echo ...}) = 0
> 5092  mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
> -1, 0) = 0xb7f3a000
> 5092  write(4, "Enter Auth Password:", 20) = 20
> 5092  read(4, "outra_coisa\n", 4096)       = 7
> 5092  write(4, "\n", 1)                 = 1
>
> </log_do_strace>
>
> Solli M. Honório
> --
> "o animal satisfeito dorme". - Guimarães Rosa
>
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>



-- 
Alexei Znamensky [russoz_gmail_com] [russoz.wordpress.com] [
www.flickr.com/photos/alexeiz]
"Though we live in trying times, we're the ones who have to try"
-------------- Pr�xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20080717/537813db/attachment-0001.html>


More information about the SaoPaulo-pm mailing list