HTML code to open PuTTY client from browser

后端 未结 2 913
难免孤独
难免孤独 2020-12-17 02:52

I am trying to make a webpage which will have the entire inventory of servers that our team manages in the form of a table. I am using a simple LAMP stack and the inventory

相关标签:
2条回答
  • 2020-12-17 03:12

    I've done it following the info of this blog post.

    For future reference in case the original page becomes missing, here is the process:

    1. you cannot directly map the ssh:// scheme to PuTTY, but you can map it to an intermediary script which will in turn lanch PuTTY with the right arguments. Mine is called putty_ssh.bat and has the following content:

      @echo off
      set var=%1
      set extract=%var:~6,-1%
      "C:\Program Files (x86)\PuTTY\putty.exe" %extract%
      
    2. the script has to be registered in the registry. You can just create a ssh.reg file with the following content and open it (customizing last line as needed):

      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"
      

    When I click on ssh:// links in web pages, it now opens PuTTY.

    0 讨论(0)
  • 2020-12-17 03:35

    PuTTY unfortunately does not associate itself with the ssh:// or any other URLs.

    You can associate an application with a protocol manually. But it's not trivial. For instructions, see below.

    Easier way is to install WinSCP SFTP client. WinSCP 5.9 and newer registers itself to handle the ssh:// URL and opens the session specified by the URL in PuTTY.

    So basically, if you just install WinSCP, it will make PuTTY handle the ssh:// URLs, without the below manual tweaks.

    (I'm the author of WinSCP)


    To register an application manually, see the MSDN article Registering an Application to a URI Scheme.

    Basically you add a registry key like:

    [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\""
    

    Though the above passes a whole URL to the PuTTY command-line. And PuTTY does not understand the ssh:// prefix. So you would have to add a wrapper script that strips the ssh:// and passes only a user and a host to PuTTY.

    For that see:
    https://johnsofteng.wordpress.com/2009/05/12/launch-putty-from-browser/


    0 讨论(0)
提交回复
热议问题