Javascript 通过SCP从网页传输文件

Javascript 通过SCP从网页传输文件,javascript,php,apache,chunking,Javascript,Php,Apache,Chunking,我想为用户提供使用网页上传文件的选项。 远程服务器通过SCP接受文件。 这些文件通常是ISO文件(>2GB) 这就是流程: File ----> Web page(PHP/JS) --- Apache | | scp | | v SCP Remote server 是否可以通过网页进行此操作? 通常用户会启动SCP客户端并启动传输,但此页面的目的是在用户和服务器以及我的Web应用程序之间建立直接通信,以便透明地启用此功能(传递用户名/密码和SCP参数)。我在PHP中

我想为用户提供使用网页上传文件的选项。 远程服务器通过SCP接受文件。 这些文件通常是ISO文件(>2GB)

这就是流程:

File ----> Web page(PHP/JS) --- Apache
  |
  |
 scp
  |
  |
  v
SCP Remote server
是否可以通过网页进行此操作? 通常用户会启动SCP客户端并启动传输,但此页面的目的是在用户和服务器以及我的Web应用程序之间建立直接通信,以便透明地启用此功能(传递用户名/密码和SCP参数)。我在PHP中找到了这个函数:

因为PHP是服务器端,所以它在ApacheWeb服务器中查找本地文件。我可以尝试2跳解决方案,但由于文件很大,这将使传输时间加倍。是否有推荐的客户端库(HTTP到SCP)

类似的:
由于您不希望用户直接访问远程服务器,因此需要分两步完成

为了避免在初始传输完成后通过SCP进行如此长时间的传输时锁定web服务器进程,最好将文件转储到一个文件夹中,该文件夹由web服务器上的一个小脚本(守护进程)监控,一旦看到文件,该脚本就会传输这些文件。当上传到web服务器完成后,您可以简单地让用户知道他们的文件将在大约X个时间内准备好


由于您希望允许的大小,您应该格外小心正确验证您的用户,因为这样一个松散的配置很容易滥用您的系统。

如果您的用户确实拥有所有需要的访问权限(连接到远程服务器的访问权限和有效凭据),那么,这一层只会大幅增加您的机器的负载和流量,对用户的好处微乎其微。这种方法的唯一优点是对用户隐藏远程服务器,如果用户可以直接访问它,这是毫无意义的。使用案例是,用户既不能访问远程服务器,也不能使用Linux技能来执行scp-P8022root@1.1.1.1:/file.tar.gz或获取Windows SCP客户端。HTTP不是SCP。它们是完全不同的协议。JavaScript不允许创建任意TCP/IP连接,因此,没有浏览器插件是不行的。不过,您始终可以使用通过HTTPS工作的文件上传器插件。