0

私は、phpスクリプトを実行しているhtmlページから実行されたsshスクリプトを期待しています。スクリプトは正常に実行されますが、すべての出力が ie 画面に表示されません。助言がありますか?

#!/usr/bin/expect 

set timeout -1
set max_match 10000

set var1 [lindex $argv 0]
set var2 [lindex $argv 1]
set var3 [lindex $argv 2]
set var4 [lindex $argv 3]

spawn ssh -q -o StrictHostKeyChecking=no user@host
expect "Password:"
send "XXXX\r"
expect -re "user@host>"
send "[join $argv]\r"
expect -re "]$"
send "exit"
interact
4

1 に答える 1

0

純粋な PHP SSH2 実装である phpseclibを使用して...

<?php
include('Net/SSH2.php');

$ssh = new Net_SSH2('user@host');
if (!$ssh->login('user', 'XXXX')) {
    exit('Login Failed');
}

echo $ssh->read("user@host>");
$ssh->write("[join $argv]\r");
echo $ssh->read("]$");
$ssh->write("exit");
?>

それはあなたのコードに基づいています。私があなただったら、\r を \n に置き換えて、終了後にも \n を追加してみます。

于 2013-10-09T20:27:13.483 に答える