【发布时间】:2023-03-13 22:39:01
【问题描述】:
我的 ssh 脚本:
include('Net/SSH2.php');
set_include_path(getcwd());
$ssh_host = "myserver.com";
if($ssh_host != null){
$ssh_user = globals::$ssh_logins[$ssh_host];
$ssh = new Net_SSH2($ssh_host);
//$ssh->enablePTY();
if (!$ssh->login($ssh_user['username'], $ssh_user['password'])) {
echo $ssh->isConnected() ? 'bad username or password' : 'unable to establish connection';
}
echo $ssh->exec('sudo bash /myscript.sh');
}else{
echo "no host: " . $ssh_host;
}
调用时:
echo $ssh->exec('sudo bash /myscript.sh');
我得到输出:
stdin: is not a tty
sudo: sorry, you must have a tty to run sudo
如何在 phpseclib 上启用 tty? Sudo 是必要的,检索输出也很重要。我的脚本返回多行。
- Centos 7
- PHP 7
【问题讨论】: