Ich habe eine portable Version von Apache und PHP7 auf Windows phpseclib1.0.7. Ich wollte die lib erweitern, um ssh zu nutzen. mit dem Lager-Skript von der Website zum TestenPHP SSH2: Maximale Ausführungszeit von 30 Sekunden überschritten
<?php
include('Net/SSH2.php');
$ssh = new Net_SSH2('-Redacted-');
if (!$ssh->login('-Redacted-', '-Redacted-')) {
exit('Login Failed');
}
echo $ssh->read('[email protected]:~$');
$ssh->write("sudo ls -la\n");
$output = $ssh->read('#[pP]assword[^:]*:|[email protected]:~\$#',
NET_SSH2_READ_REGEX);
echo $output;
if (preg_match('#[pP]assword[^:]*:#', $output)) {
$ssh->write("password\n");
echo $ssh->read('[email protected]:~$');
}
?>
Auch mit dem Mangel an Informationen sollte es einen Fehler aus, sondern es gibt mir
PHP Fatal error: Maximum execution time of 30 seconds exceeded in
C:\Users\-Redacted-\Desktop\Apache2.2\htdocs\Net\SSH2.php on line 2358
Hier wird die SSH2.php beginnend bei Zeile 2351
if (isset($this->keyboard_requests_responses)) {
for ($i = 0; $i < $num_prompts; $i++) {
if (strlen($response) < 4) {
return false;
}
extract(unpack('Nlength', $this->_string_shift($response, 4)));
// prompt - ie. "Password: "; must not be empty
Line 2358---- $prompt = $this->_string_shift($response, $length);
//$echo = $this->_string_shift($response) != chr(0);
foreach ($this->keyboard_requests_responses as $key => $value) {
if (substr($prompt, 0, strlen($key)) == $key) {
$responses[] = $value;
break;
}
}
}
}
hat jemand irgendwelche Ideen, wie zu beheben?
Können Sie den Remote-Host anpingen? – apokryfos
sind Sie sicher, dass Ihr Server ssh open geöffnet ist? –
Putty funktioniert gut mit Remote-Host. – MoonEater916