Chris
Chris

Reputation: 8988

PHP shell_exec running a shellscript with ssh

I have a shellscript with connects to a a different machine with ssh and a key so it does not need the username and password.

When i run this script from commandline it works fine.. but when I run this script from php shell_exec it does not work.

If I make an ssh connection with PHP and run the script as my own user it does work.

Now for my question :D Is there a way to just running the script in shell_exec from php without making an connection over ssh as a different user?

Upvotes: 2

Views: 3145

Answers (3)

Chris
Chris

Reputation: 8988

It seems ssh connection does not work with shell_exec. If i run the shellscript under ssh2_exec it does seem to work.

Which is a little strange as the ssh connection is made in the script file with a public and private key.. I would assume this would just run :s

The webserver is allowed to execute the file, as there are other command in there who work as expected.

Upvotes: 0

AndreKR
AndreKR

Reputation: 33707

Did you specify the private key file correctly?

Upvotes: 1

Jens Bradler
Jens Bradler

Reputation: 1

If you are using Ubuntu or Debian the web server is running with the user name www-data. For other systems please check the web server configuration for the user name. You can simply test if this user (and your php web application) is able to do the SSH connection.

1) Become the user of your web server

sudo su www-data

2) Try connecting the remote host

ssh remoteUser@remoteHost

If you will get connected without entering a password there must be a different problem. If you have to enter a password, the key files were stored for a different user - not for www-data. You have already configured SSH to use the key. Do the same for your local user www-data and it will work.

Upvotes: 0

Related Questions