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

时间:2013-07-16 07:03:24

标签: html putty

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

该表有三列:主机名,IP地址和设备序列号。

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

2 个答案:

答案 0 :(得分:8)

我是在the info of this blog post之后完成的。

如果原始页面丢失,以备将来参考,以下是过程:

  1. 你不能直接将ssh://方案映射到PuTTY,但是你可以将它映射到一个中间脚本,而这个脚本又会使用正确的参数来填充PuTTY。我的名字叫putty_ssh.bat,内容如下:

    @echo off
    set var=%1
    set extract=%var:~6,-1%
    "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"
    
  3. 当我点击网页中的ssh://链接时,它现在会打开PuTTY。

答案 1 :(得分:3)

不幸的是,

PuTTY does not associate itself包含ssh://或任何其他网址。

您可以手动将应用程序与协议关联。但这不是微不足道的。有关说明,请参阅下文。

更简单的方法是安装WinSCP SFTP client。 WinSCP 5.9及更新registers itself to handle the ssh:// URLopens the session specified by the URL in PuTTY

所以基本上,如果您只是安装WinSCP,它将使PuTTY处理ssh:// URL,而不进行以下手动调整。

(我是WinSCP的作者)

要手动注册应用程序,请参阅MSDN文章Registering an Application to a URI Scheme

基本上你添加一个注册表键,如:

[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/