使用PHP和SSH远程关闭

时间:2013-08-05 16:39:11

标签: php ssh remote-access shutdown phpseclib

我想要的是一个我可以调用的PHP文件,它使用SSH关闭计算机。就那么简单。以下是我被敲掉的东西。显然,它不起作用。我不是PHP专家。也许PHP专家可以告诉我如何让它工作。感谢。

<?php
include('Net/SSH2.php');

$ssh = new Net_SSH2('192.168.1.124');
if (!$ssh->login('username', 'password')) {
    exit('Login Failed');
}

$ssh->write("sudo shutdown -h now");
sleep(5);
$ssh->write("password\n");

?>

2 个答案:

答案 0 :(得分:1)

我最终找到了一种使用AppleScript安全关闭计算机的方法。

PHP文件是:

<?php
include('Net/SSH2.php');

$ssh = new Net_SSH2('192.168.1.124');
if (!$ssh->login('josephftaylor', 'password')) {
    exit('Login Failed');
}

echo $ssh->exec('osascript Documents/shutdown.scpt');

?>

AppleScript保存在我的文档中,并且是:

tell application "System Events"
    shut down
end tell

希望这可以帮助其他人尝试做类似我的事情。谢谢大家的帮助!

答案 1 :(得分:-1)

您可以尝试将'username'NOPASSWD权限授予/ sbin / shutdown

登录遥控器框并执行sudo visudo

添加以下行(调整正确的用户名):

username ALL= NOPASSWD: /sbin/shutdown

现在该用户应该能够在没有密码的情况下sudo shutdown,并且希望sudo不会因为没有密码而生气。

Source