如何通过 PHP 执行 SSH 命令

2022-08-30 08:46:17

我希望通过PHP进行SSH。最好的/最安全的方法是什么?我知道我可以做到:

shell_exec("SSH user@host.com mkdir /testing");

还有比这更好的吗?这感觉太“调皮”:)了。


答案 1

我会使用phpseclib,一个纯粹的PHP SSH实现。例如:

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

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

echo $ssh->exec('pwd');
echo $ssh->exec('ls -la');
?>

答案 2

是否有可用的 SSH2 扩展?

文档: http://www.php.net/manual/en/function.ssh2-exec.php

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

$stream = ssh2_exec($connection, '/usr/local/bin/php -i');

推荐