1

我无法让我的本地环境 Win7 运行 easyPHP 12 连接到我的服务器 ubuntu 11.04。

我通过 sftp 和 filezilla 连接到我的服务器,我可以通过 ssh 和 putty 连接到我的服务器......服务器目前不需要密钥,只需要一个 uname 和 pword ......

我不明白,我通过 php 脚本传递的细节与我从 filezilla 和 putty 传递的细节完全相同。

这是剥离到基本的代码:

//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

Most likely server requires keyboard-interactive auth, while component tries password auth.

于 2013-01-15T10:46:36.267 回答
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 回答