5

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

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

虽然这工作得很好,但我想更进一步,让表中的每个 IP 地址成为一个超链接,单击它将打开一个 SSH 客户端,该客户端将连接到该 IP 地址。关于如何做到这一点的任何线索?我希望会有类似mailto:打开电子邮件客户端(Outlook 窗口)的标签的东西。

4

2 回答 2

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。

于 2013-10-24T08:23:58.430 回答
3

遗憾的是,PuTTYssh://或任何其他 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/


于 2016-09-13T06:45:02.277 回答