簡體   English   中英

如何在 Windows 中使用 PuTTY 創建 SSH 隧道?

[英]How to create SSH tunnel using PuTTY in Windows?

我需要在 Windows 中使用 PuTTY 創建 SSH 隧道,這與 Linux 中的此命令的作用相同:

ssh -fN -L 2000:SomeIp:2000 myusername@myLinuxBox

我在 PuTTY 中嘗試了許多選項,包括將 GUI 中的源端口設置為“2000”,將目標設置為“SomeIp:2000”。 目的地設置為本地(如-L開關建議的那樣)。

我成功登錄到我的 SSH 盒,但沒有進行端口轉發。

這在 Windows 中甚至是可能的,以便使用此端口 (2000) 的程序建立的所有連接都將通過此隧道?

使用 PuTTY 套件,您可以使用 PuTTY 本身 (GUI) 或使用命令行工具plink.exe


對於plink.exe ,您使用與 OpenSSH ssh相同的參數,除了-f ,它在 Windows 中沒有等效項。

plink.exe -N -L 2000:SomeIp:2000 myusername@myLinuxBox

參考: 使用命令行連接工具Plink


使用 PuTTY, -L 2000:SomeIp:2000轉換為:

PuTTY 隧道設置

所以它實際上是你聲稱已經嘗試過的。 如果您有任何問題,請使用 PuTTY 事件日志進行調查:

PuTTY 事件日志

-N轉換為選項“根本不啟動 shell 或命令”

PuTTY 選項根本不啟動 shell 或命令

但是使用 GUI 客戶端啟用它可能沒有意義,因為無論如何你都會得到一個窗口,你就不能用它做任何事情。 另請參閱PuTTY Wish no-terminal-window


如果您打算使用隧道將 PuTTY 連接到另一台服務器,您實際上可以將隧道設置為會話設置的一部分,使用plink作為代理,請參閱: PuTTY 配置等效於 OpenSSH ProxyCommand

您可能想使用plink.exe而不是 GUI 客戶端。 命令行語法與 iirc 兼容。

或者您可以通過 putty GUI 涉水,這也允許這樣做。 請參閱帶有選項樹的左側的Connection > SSH > Tunnels

在此處輸入圖片說明

上面的答案提到了兩種不同的解決問題的方法:

  • 使用 plink
  • 使用膩子 GUI

我沒有 plink,也無法下載 plink.exe 文件(它是一個受到嚴密監控的受限環境),因此使用了一種不同的方式來使用單行腳本編寫解決方案:

start putty -ssh myusername@myLinuxBox -pw my_pw -L 2000:localhost:2000

將此存儲在批處理文件中(文件擴展名“.bat”,例如“tunnel.bat”)。 因此,每次雙擊此文件時,都會運行該命令,並且 putty 會創建 ssh 隧道。 如果你想要更多的隧道只需重復這一部分

-L 2000:本地主機:2000

通過相應地更改端口。

“源”端口是運行 putty 的同一台機器上的端口號(例如,在瀏覽器中打開它:127.0.0.1:source)。 “目標”是您要從本地計算機連接到的遠程端口。 在我意識到這一點后,它開始工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM