繁体   English   中英

无法使用phpseclib登录到我的Apache服务器

[英]Can't login with phpseclib to my apache server

我的apache服务器中有一个php文件,该文件需要运行shell脚本(也在服务器中)。 当我尝试腻子中的代码时,它将按预期运行shell脚本。 但是,ssh无法连接,下面的代码给出了回显

“已与服务器断开连接!” “登录失败”。

<?php

$script = "sudo bash /path/script.sh parameter";
set_include_path( __DIR__ .'/phpseclib/' . PATH_SEPARATOR . 
get_include_path());
include('Net/SSH2.php');
$ssh = new Net_SSH2($server);
$ssh->enablePTY();

if (!$ssh->login($username, $password)) {
    echo $ssh->isConnected() ? 'Connected but Not Logged In' : 'Disconnected From Server!';
    exit("\nLogin Failed");
}
$ssh->setTimeout(1);
$ssh->write($script."\n");
echo "Initialized Shell Script\n";
$ssh->read('password for $username:');
echo "Password Confirmation\n";
$ssh->write($password.'\n');
echo "Password Login\n";
echo $ssh->read('[prompt]');
?>

Net / SSH2库支持调试和错误报告。 该库的文档描述了如何调试功能和查看错误。

您可以在exit("\\nLogin Failed");之前调用$ssh->getErrors()函数exit("\\nLogin Failed"); 功能。 它将返回错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM