有沒有辦法關聯ssh://10.10.10.10
使用 PuTTY 自動開啟和連接格式的網站上的超連結?
我正在尋找一種可以跨瀏覽器(IE 和 Firefox)運行並且易於實施的解決方案。我無法指示我們的支援團隊手動執行註冊表編輯:(
有人知道如何做到這一點嗎?
答案1
答案2
遺憾的是,PuTTY不關聯自身與ssh://
網址。
您可以手動將應用程式與協定關聯。請參閱 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/
另一種方法是使用WinSCP。它註冊自身來處理ssh://
URL和在 PuTTY 中開啟 URL 指定的會話。
(我是WinSCP的作者)
答案3
看看這個: https://gist.github.com/sbiffi/11256316
我想要一個不需要改變膩子的解決方案。
它將 Visual Basic 腳本關聯到 ssh:// 和 telnet:// URL,該腳本解析 URL 並使用 putty.exe -ssh -l login 等標準參數啟動 putty。
2 個額外優點: – 密碼也可以在 URL 中傳遞以進行自動身份驗證 – 無需更改 putty,從而適應所有修補程式。
答案4
下面是一個註冊表類,它將在將 URI 傳遞給 PuTTY 之前從 URI 中刪除 ssh:// 和尾部(實際上是全部)/,以便 PuTTY 可以直接打開它:
每個使用者:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Classes\ssh]
@="URL:ssh Protocol"
"URL Protocol"="ssh://"
[HKEY_CURRENT_USER\Software\Classes\ssh\shell]
[HKEY_CURRENT_USER\Software\Classes\ssh\shell\open]
[HKEY_CURRENT_USER\Software\Classes\ssh\shell\open\command]
@="cmd /V:ON /c set params=%1 && set params=!params:ssh://=! && start \"PuTTY\" \"c:\\Program Files (x86)\\PuTTY\\putty.exe\" \"!params:/=!\""
並且,對於系統上的每個人:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\ssh]
@="URL:ssh Protocol"
"URL Protocol"="ssh://"
[HKEY_CLASSES_ROOT\ssh\shell]
[HKEY_CLASSES_ROOT\ssh\shell\open]
[HKEY_CLASSES_ROOT\ssh\shell\open\command]
@="cmd /V:ON /c set params=%1 && set params=!params:ssh://=! && start \"PuTTY\" \"c:\\Program Files (x86)\\PuTTY\\putty.exe\" \"!params:/=!\""
根據您的需求更改檔案路徑。
/V:ON 與「SetLocal EnableDelayedExpansion」相同
/c 運行命令
我將參數設定為“ssh://domain.tld/”。然後我用“!params:ssh://=!”從中刪除“ssh://”,這是變數 params 上“ssh://”到“”的查找替換。我將其分配回 params,現在 params = 'domain.tld/'。然後,我將其傳遞給 putty,並執行另一個查找替換,將“/”替換為“”,以刪除 Windows 新增的尾部斜杠,留下 PuTTY 可以使用的“domain.tld”。
這讓我可以透過在註冊表項中輸入的命令來處理所有內容。它根本不進行任何形式的清理,並且很容易被利用(例如 ssh://&¬epad 打開記事本),因此您可能希望將 URI 更改為只有您知道的內容。