发送SSH命令而不等待它加载?

时间:2013-06-10 09:02:37

标签: php ssh command putty

我想知道是否有办法让php页面发送SSH命令并立即断开连接?像屏幕一样,它在断开连接后继续运行?

这可能吗?我的朋友已经做到了,但不会告诉我怎么......他说套接字......?

2 个答案:

答案 0 :(得分:0)

你可以使用屏幕,但我会建议nohup。如果您使用公钥/私钥登录而不是密码,并且没有safe_mode限制,那么您可以执行以下操作:

<?php exec("ssh <User>@<Host> 'nohup ls > test.txt &'"); ?>

或者使用PHP ssh2模块

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$stream = ssh2_exec($connection, 'nohup ls > test.txt &');
?>

nohup和&amp;角色仍然会立即断开你。

答案 1 :(得分:0)

重写freeduck使用phpseclib, a pure PHP SSH implementation的答案......

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

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

echo $ssh->exec('nohup lus > test.txt &');
?>