使用 PuTTY 打開 ssh:// 鏈接

使用 PuTTY 打開 ssh:// 鏈接

有沒有辦法關聯ssh://10.10.10.10使用 PuTTY 自動開啟和連接格式的網站上的超連結?

我正在尋找一種可以跨瀏覽器(IE 和 Firefox)運行並且易於實施的解決方案。我無法指示我們的支援團隊手動執行註冊表編輯:(

有人知道如何做到這一點嗎?

答案1

有一個名為 Putty 的叉子貓咪,它的網站包括指示做你想做的事。

它確實涉及註冊表更改,但這些更改是透過下載 .reg 檔案並在 Windows 資源管理器中單擊它來完成的(我猜具有管理員權限)。

答案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 更改為只有您知道的內容。

相關內容