使用 JavaScript 或 PHP 从网站启动 putty(带参数)[重复]

问题描述 投票:0回答:2

感谢 putty,我希望人们能够访问我网站上的交换机和服务器。 用户将看到所有设备的列表。当他们单击其中之一时,我希望 Putty 使用良好的协议(ssh 或 telnet)和良好的地址打开。 如果他们点击另一个名字,这将在另一个地址上打开 putty。

例如:putty.exe -ssh 192.168.0.1

我的想法是启动

cmd
并在其中执行此命令。

我首先尝试了 PHP(

system()
exec()
shell_exec()
)但没有成功。 我现在正在寻找 JavaScript 的解决方案。已经尝试过 exec() 和 execute() 但对我不起作用。

到目前为止,我找到的唯一解决方案是制作

script.bat
并将命令放入其中但这不是我正在寻找的!。而且它只适用于 IE,我需要很多脚本,因为有很多设备。

编辑:

我的愿望是让它在 IE 和 Mozilla 上运行。

  1. 我尝试了直接链接,但在 Mozilla 中它会询问您是否要下载文件而不是执行它。
  2. 使用使用
    WshShell.Run
    的 JScript 并将页面另存为
    .hta
    可以使其工作,但实际上需要 1 分钟才能打开 Putty。
  3. 使用 JScript 链接不起作用,它会询问我是否要下载它而不是执行它。

服务器可以是Windows或Linux,但用户将使用Windows来访问站点。我只想在这个网站上使用 JScript / PHP。 此外,我不希望用户需要更改其腻子,我希望每个安装腻子(并添加到路径)的用户都可以访问它。

javascript php ssh cmd putty
2个回答
1
投票

虽然 Martin 是正确的,这是从浏览器启动应用程序的重复,但那里的答案不是很好。

HTML 定义了 telnet 方案 - 因此您可以通过添加(例如)来启动 telnet 会话

<a href="telnet://server.example.com">Run insecure telnet session</a>

然而,这从未被正式修改为允许 ssh 支持(某些浏览器支持客户方案)。

几乎每个浏览器都允许您在下载特定 mime 类型的数据文件时配置默认操作 - 并且 mime 类型通常是可扩展的。但与链接问题中的 RDP 文件不同,PuTTY 不支持通过文件提供连接数据,仅在命令行上提供。可以编写一个相当简单的客户端,从下载的文件中读取数据,然后调用 putty,用目标主机填充命令行 - 但这也需要将客户端部署在所有目标设备上。

另一种选择是使用 ssh 客户端在浏览器中运行而不是在客户端本地运行。除了上一个链接中列出的资源之外,还有几个 Java 应用程序。


0
投票

现在我知道这对于 PHP 来说是不可能的,对于 JavaScript 来说真的很难(对我来说不起作用),只剩下 2 个解决方案了:

  1. 使用批处理文件以良好的参数启动 putty,但这仅适用于 IE。这是脚本应该包含的内容: 启动“”“C:\path_to_putty\putty.exe”-ssh地址”
  2. 在 mozilla 和 chrome 上使用“FireSSH”插件通过 ssh 连接到我的设备。

我选择了第二个。 感谢大家的帮助! :)

© www.soinside.com 2019 - 2024. All rights reserved.