Ich versuche die phpseclib zu verwenden, um das Passwort meines entfernten Servers durch seine NET_SSH2 Funktionen zu ändern. Unten ist was ich benutze.Ändern des Passworts von Unix remote server durch PHP SSH
<?php
require_once('Net/SSH2.php');
$ssh = new Net_SSH2('server1.server.com');
if (!$ssh->login('user', 'pass')) {
exit('Login Failed');
}
$ssh->write("passwd\n");
$ssh->read('(current) UNIX Password:');
$ssh->write("oldpass\n");
$ssh->read('New password:');
$ssh->write("newpass\n");
$ssh->read('Retype new password:');
$ssh->write("newpass\n");
echo $ssh->read('[prompt]');
?>
Jedes Mal hängt mein Skript einfach und scheint nicht viel zu tun. Was könnte ich hier falsch machen? Hier
ist die Dokumentation zu diesem Thema: http://phpseclib.sourceforge.net/documentation/net.html
Wenn Sie Ihr Programm un ausführen der 'strace (1)', was sind die genauen Zeichenfolgen, die es _does_ liest? Warum wartest du nicht auf die erste Shell-Eingabeaufforderung? Wenn Sie Debug-'echo'-Anweisungen hinzufügen, wo genau stoppt es? – sarnold
Es stellte sich heraus, dass ich einen einzelnen Buchstaben groß geschrieben habe. Funktioniert jetzt wie ein Zauber. Vielen Dank für Ihre ausführliche Antwort. – user1328041
@ user1328041 Wenn Sie selbst gefunden und beantwortet haben, dann zögern Sie nicht, die Frage zu löschen, damit andere sie nicht lesen – Novellizator