Não é possível executar script cgi recebendo muxserver_listen bind (): Permissão negada

2

Quando executo um script CGI perl a partir do navegador, há um erro abaixo nos logs de erro do apache. Não está recebendo resposta do servidor. Enquanto eu corro meu script a partir do prompt de comando, ele funciona bem.

Estou usando o código abaixo no meu script CGI perl

my %opts = (
    user        => "uname",
    password    => "password",
    ctl_dir     => "/tmp/.libnet-openssh-perl",
    strict_mode => 0,
);

my $ssh = Net::OpenSSH->new("192.168.0.201",%opts,master_opts => ['-vvv', -o => "StrictHostKeyChecking=no" ] );
    $ssh->system("ls /home/sysadmin/") or
     die "remote command failed: " . $ssh->error;

Registros de erros:

[Tue Jul 01 13:05:52 2014] [error] [client 192.168.0.136] debug3: preferred keyboard-interactive,password\r, referer: 
[Tue Jul 01 13:05:52 2014] [error] [client 192.168.0.136] debug3: authmethod_lookup password\r, referer: 
[Tue Jul 01 13:05:52 2014] [error] [client 192.168.0.136] debug3: remaining preferred: ,password\r, referer: 
[Tue Jul 01 13:05:52 2014] [error] [client 192.168.0.136] debug3: authmethod_is_enabled password\r, referer: 
[Tue Jul 01 13:05:52 2014] [error] [client 192.168.0.136] debug1: Next authentication method: password\r, referer: 
[Tue Jul 01 13:05:52 2014] [error] [client 192.168.0.136] debug3: packet_send2: adding 48 (len 62 padlen 18 extra_pad 64)\r, referer: 
[Tue Jul 01 13:05:52 2014] [error] [client 192.168.0.136] debug2: we sent a password packet, wait for reply\r, referer: 
[Tue Jul 01 13:05:52 2014] [error] [client 192.168.0.136] debug1: Authentication succeeded (password).\r, referer: 
[Tue Jul 01 13:05:52 2014] [error] [client 192.168.0.136] Authenticated to 192.168.0.201 ([192.168.0.201]:22).\r, referer:
[Tue Jul 01 13:05:52 2014] [error] [client 192.168.0.136] debug1: setting up multiplex master socket\r, referer: 
**[Tue Jul 01 13:05:52 2014] [error] [client 192.168.0.136] debug3: muxserver_listen: temporary control path /tmp/.libnet-openssh-perl/sysadmin-192.168.0.2-28537-877268.LF0y9f2rHmaMBPaq\r, referer: 
[Tue Jul 01 13:05:52 2014] [error] [client 192.168.0.136] muxserver_listen bind(): Permission denied\r, referer: 
[Tue Jul 01 13:05:52 2014] [error] [client 192.168.0.136] remote command failed: unable to establish master SSH connection: bad password or master process exited unexpectedly at /var/cgi-bin1/GnipReplay.cgi line 43., referer: 

    
por Huzefa 01.07.2014 / 12:37

1 resposta

0

Se você está rodando no RHEL ou no CentOS, o SELinux pode estar bloqueando os scripts de iniciar conexões de rede.

Confirme que você está executando com o SELinux no modo enforcing com getenforce .

Teste que o problema desaparece ao configurar temporariamente o SELinux no modo permissivo: setenforce 0

Se você tentar novamente agora e seu script funcionar, você encontrará o culpado.

Restaure o SELinux setenforce 1 e tente se definir um dos valores booleanos do SELinux resolve seus problemas. No RHEL / CentOS, 6 setsebool -P httpd_can_network_connect=1 provavelmente é um deles.

    
por 01.07.2014 / 13:19