[英]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.