Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re: Net::SSH::Perl trouble from withing PHP

by dws (Chancellor)
on Jan 07, 2005 at 20:27 UTC ( [id://420361]=note: print w/replies, xml ) Need Help??


in reply to Net::SSH::Perl trouble from withing PHP

I have fully tested this and it works just fine from the cli. But, it does not complete when I call it from PHP.

If you don't provide a identity_files key, Net::SSH::Perl tries to find one via $ENV{HOME}/.ssh/known_hosts. Assuming you're using PHP with Apache, the apache user probably doesn't have a .ssh directory.

Try using identity_files, and make sure any files you reference are readable by the apache user. You might also try adding interactive => 0 (explained in the Net::SSH::Perl docs).

This can also be a problem with non-PHP CGIs.

Replies are listed 'Best First'.
Re^2: Net::SSH::Perl trouble from withing PHP
by bfdi533 (Friar) on Jan 10, 2005 at 16:05 UTC
    OK, so here is where I am now. The apache user does not have a home directory so I have:
    1. created a directory, /var/www/localhost/htdocs/switchdb/.ssh
    2. I added id_dsa and id_rsa from my own user .ssh directory
    3. created an identity file with the connection data again extracted from my .ssh directory.
    4. changed owner to apache with 700 perms on directory an all sub-files
    5. modified the code so it now looks like this
    my %params = ( protocol => "2", debug => "true", use_pty => 0, interac +tive => "false", identity_files => ("/var/www/localhost/htdocs/switch +db/.ssh/identity") );
    I am now getting further in my code but get the following:
    Starting run_pna_switch.pl processing request for pna_swid 17 and mode on processing request for pna_swid 17 and mode on entering Net:SSH:Perl->new command entering SSH->login command The authenticity of host '146.6.167.199' can't be established. Key fingerprint is 99:80:ac:53:50:14:5f:9a:04:ce:5f:44:0f:5c:7d:39. Are you sure you want to continue connecting (yes/no)? [yes]

    So, of course I tried to run the code as 'su - apache /usr/bin/perl code.pl' but it does not run and does not produce any output and does not ask me the question. I am stumped here as to why this code won't run for me as apache on the cli to get this interactive question answered.

    Actually, nothing that I run as 'su - apache' works including 'su - apache ssh 1.2.3.4' to try to do this interactively from the cli.

    Ed

      created a directory, /var/www/localhost/htdocs/switchdb/.ssh

      Educated speculation: Try making the connection by hand (using ssh), then find and copy the line added to your ~/.ssh/known_hosts to /var/www/localhost/htdocs/switchdb/.ssh/known_hosts (creating the file if you need to), then point entity_files to that.

Re^2: Net::SSH::Perl trouble from withing PHP
by bfdi533 (Friar) on Jan 10, 2005 at 15:16 UTC

    Thanks for the pointer. I had read this in the man page but did not really stop to think that apache runs my code rather than my user.

    I will add this and give it a try.

    Ed

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://420361]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others admiring the Monastery: (2)
As of 2024-04-20 04:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found