从浏览器打开 PuTTY 客户端的 HTML 代码

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

我正在尝试制作一个网页,其中包含我们团队以表格形式管理的整个服务器清单。我使用简单的 LAMP 堆栈并将库存输入作为 CSV 文件。

该表分为三列:主机名、IP 地址和设备序列号。

虽然这工作得很好,但我想更进一步,将表中的每个 IP 地址设为超链接,单击它将打开一个 SSH 客户端,它将连接到该 IP 地址。有关如何做到这一点的任何提示?我希望有类似

mailto:
标签的东西可以打开电子邮件客户端(Outlook 窗口)。

html putty
3个回答
11
投票

我已经按照这篇博文的信息完成了。

为了将来参考,以防原始页面丢失,以下是过程:

  1. 您无法直接将 ssh:// 方案映射到 PuTTY,但您可以将其映射到中间脚本,该脚本将使用正确的参数启动 PuTTY。我的名为 putty_ssh.bat 并具有以下内容:

    @echo off
    set var=%1
    set extract=%var:~6,-1%
    start "C:\Program Files (x86)\PuTTY\putty.exe" %extract%
    
  2. 脚本必须在注册表中注册。您只需创建一个包含以下内容的 ssh.reg 文件并打开它(根据需要自定义最后一行):

    REGEDIT4
    [HKEY_CLASSES_ROOT\ssh]
    @="URL:ssh Protocol"
    "URL Protocol"=""
    [HKEY_CLASSES_ROOT\ssh\shell]
    [HKEY_CLASSES_ROOT\ssh\shell\open]
    [HKEY_CLASSES_ROOT\ssh\shell\open\command]
    @="\"C:\\path\\to\\putty_ssh.bat\" %1"
    

当我单击网页中的

ssh://
链接时,它现在会打开 PuTTY。


4
投票
不幸的是,

PuTTY 不将自身

ssh://
或任何其他 URL 关联。

您可以手动将应用程序与协议关联。但这并非小事。有关说明,请参阅下文。

更简单的方法是安装WinSCP SFTP 客户端。 WinSCP 5.9 及更高版本 注册自身以处理

ssh://
URL 在 PuTTY 中打开由 URL 指定的会话

所以基本上,如果您只安装 WinSCP,它将让 PuTTY 处理

ssh://
URL,而无需进行以下手动调整。

(我是WinSCP的作者)


要手动注册应用程序,请参阅 MSDN 文章 将应用程序注册到 URI 方案

基本上,您添加一个注册表项,例如:

[HKEY_CLASSES_ROOT\ssh]
@="URL: SSH Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\ssh\DefaultIcon]
@="\"C:\\Program Files (x86)\\PuTTY\\PuTTY.exe\",0"

[HKEY_CLASSES_ROOT\ssh\shell]

[HKEY_CLASSES_ROOT\ssh\shell\open]

[HKEY_CLASSES_ROOT\ssh\shell\open\command]
@="\"C:\\Program Files (x86)\\PuTTY\\PuTTY.exe\""

虽然上面将整个 URL 传递到 PuTTY 命令行。 PuTTY 不理解

ssh://
前缀。因此,您必须添加一个包装器脚本来剥离
ssh://
并仅将用户和主机传递给 PuTTY。

为此请参阅:
https://johnsofteng.wordpress.com/2009/05/12/launch-putty-from-browser/



0
投票

这对我来说工作正常,但我想使用证书,我尝试了几种方法将 -i /path/to/cert (运行浏览器的机器)添加到 URI,有些只是坐在那里,但另一些似乎可以工作,但拒绝证书,这是否可能,如果可以,正确的方法是什么?

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