我正在尝试让远程ssh在我的网站(由godaddy托管)上工作。

我已经下载了phpseclib并将其放置到服务器上,并且可以看到它,我习惯于按照文档建议的方式执行以下代码

<?php

set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib');
include('Net/SSH2.php');
define('NET_SSH2_LOGGING', NET_SSH2_LOG_COMPLEX);

echo "<span>in progress: <br /></span>";

$ssh = new Net_SSH2('197.87.71.51', 2211);

if (!$ssh->login('postgres', 'postgres')) {
    exit('Login Failed');
} else {
    echo "<span>login success<br /></span>";
}

echo $ssh->exec('pwd');
echo $ssh->getLog();
echo $ssh->getLastError();

?>

我收到登录失败消息,并且我不知道从哪里开始调试。

我没有收到任何错误消息,看起来好像没有发生任何事情

最佳答案

尝试看看错误

 print_r($ssh->getSFTPErrors());

要不就
$ssh->getErrors()

第5.1.8章。文档中的SSH-2调试
include('Net/SSH2.php');
define('NET_SSH2_LOGGING', NET_SSH2_LOG_COMPLEX);

$ssh = new Net_SSH2('www.domain.tld');
if (!$ssh->login('username', 'password')) {
    exit('Login Failed');
}

echo $ssh->exec('pwd');
echo $ssh->getLog();

关于php - 使用phpseclib Net SSH2的PHP SSH连接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33436780/

10-13 09:40