我正在使用 phpseclib 库中的以下代码登录远程服务器(远程服务器使用:SFTP - SSH 文件传输协议(protocol)):

<?php 
set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib'); 
include('phpseclib/Net/SFTP.php'); 
 
$sftp = new Net_SFTP('200.160.163.10'); 
if (!$sftp->login('username', 'password')) { 
    exit('Login Failed'); 
} 
?> 

运行上述代码后,我收到以下消息:
Notice: Error reading channel data in /home/comdinhe/public_html/phpseclib/Net/SSH2.php on line 3480 
 
Notice: Connection closed prematurely in /home/comdinhe/public_html/phpseclib/Net/SSH2.php on line 3500 
 
Login Failed 

有谁知道可能会发生什么?

日志: http://pastebin.com/j9M7tZAM

请您参考如下方法:

我认为 获取 方法适用于 Net_SFTP。

<?php 
set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib'); 
include('phpseclib/Net/SFTP.php'); 
 
$sftp = new Net_SFTP('200.160.585.10'); 
if (!$sftp->login('username', 'password')) { 
    exit('Login Failed'); 
} 
 
echo $sftp->pwd() . "\r\n"; 
$sftp->get( 
    '/sianbima/cbfundo/cbfundo_00000_20160808_171429.txt', 
    '/home/comdinhe/public_html/testeArquivo.txt' 
); 
?> 

或者您可以尝试在 ssh 中执行 rsync 命令。
$ssh->exec('rsync -avz /sianbima/cbfundo/cbfundo_00000_20160808_171429.txt /home/comdinhe/public_html'); 


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!