在使用 ssh2_sftp 方法创建一个小型库以通过 SFTP 发送和接收文件后,我发现我必须连接到的服务器有 ssh 连接禁用并且我只能通过 SFTP 连接。
服务器连接在命令行下使用 sftp 命令运行良好,但 ssh 向我发送了一个“此服务仅允许 sftp 连接。”
因此,由于 ssh2_sftp 需要先前的 ssh 连接才能工作,我不知道哪个库或如何做才能连接到具有 SFTP 身份验证的 SFTP 服务器。
phpseclib 是否使用与 ssh2_ftp 不同的身份验证方法?
有什么想法吗?谢谢。
最佳答案
99% 的键盘交互身份验证只是提示输入密码。 phpseclib, a pure PHP SFTP implementation , 如果密码验证失败,尝试通过键盘交互提交密码。使用示例:
<?php
include('Net/SFTP.php');
$sftp = new Net_SFTP('www.domain.tld');
if (!$sftp->login('username', 'password')) {
exit('Login Failed');
}
// outputs the contents of filename.remote to the screen
echo $sftp->get('filename.remote');
?>
关于php - PHP 中的 SFTP 连接(不是通过 ssh),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12260835/