1

easyPHP 12 を実行しているローカル環境の Win7 をサーバー ubuntu 11.04 に接続できません。

filezilla で sftp 経由でサーバーに接続できます。ssh 経由で putty でサーバーに接続できます...現時点では、サーバーは uname と pword だけでキーを必要としません...

わかりません。phpスクリプトを介して渡す詳細は、filezillaとパテから渡すものとまったく同じです。

これは、むき出しの基本に取り除かれたコードです。

//inlcude the phpseclib path in the include array and include the ssh2 class
set_include_path( WEBROOT_PRIVATE.'scripts/phpseclib0.3.0' );
if(!include('Net/SSH2.php')){
    echo 'Sorry failed to load SSH2 class';
    br();
}
if(!include('Net/SFTP.php')){
    echo 'Sorry failed to load SFTP class';
    br();
}
$connection = new Net_SFTP( 'xx.xx.xx.xx', 'xx' );
echo 'ss';
$login = $connection->login( 'username', 'password');
exit();

そして、これは私が得ている応答です:

注意: xx.xx.xx.xx に接続できません。エラー 10060。接続先が一定時間後に適切に応答しなかったために接続の試行が失敗したか、接続されたホストが応答しなかったために確立された接続が失敗しました。....\www_private\scripts\phpseclib0.3.0\Net\SSH2.php の 776 ss 行目

4

2 に答える 2

1

あなたが得ているエラーで fsockopen に失敗しています。これは、phpseclibの問題ではなく、PHPの問題であることを示唆しています。

したがって、SSH の仕組みは、接続しようとするとサーバーがすぐにバナーを送信することです。たとえば、stackoverflow.com に対してそれを行います。

<?php
$fsock = fsockopen('www.stackoverflow.com', 22);
echo fgets($fsock, 1024);

そのスクリプトを実行すると、「SSH-2.0-OpenSSH_5.3」が返されます。

サーバーで動作するようにその PHP スクリプトを更新すると、phpseclib が表示しているのと同じエラー メッセージが表示されると思います。

于 2013-01-15T17:47:27.723 に答える
1

ほとんどの場合、サーバーはキーボード インタラクティブ認証を必要とし、コンポーネントはパスワード認証を試みます。

于 2013-01-15T10:46:36.267 に答える