Ssh

SMB 代理:通過其他兩台主機之間的 SSH 隧道連接到 SMB 伺服器

  • November 9, 2020

我希望 localhost 訪問我公司的 SMB 股票。這些位於 Win7 對等體上。這個對等點正在執行一個帶有 Debian 的虛擬機,而 Debian 本身正在執行一個 ssh 守護程序。

我可以輕鬆地創建從 localhost 到 VM 的 ssh 隧道,但無法讓 SMB 轉發/代理工作。我讀了太多關於這個最終完全混淆哪個介面和主機上的哪個埠轉發等等……

如果我是對的,我必須將 localhost 的埠 139 轉發到我的代理上的埠,並在代理本身上將埠 139 轉發到同一主機上的 ssh 隧道的埠?這應該工作嗎?我應該如何設置每個主機來實現這一點?

網路大致是這樣的:

localhost ===(ssh)=== |router| ===(ssh)=== debian vm ===(smb)=== win7

路由器只是將 SSH 連接轉發到 VM。

@Zoredache 對這個問題給出的答案對於您想要做的事情來說是一個很好的答案,儘管我將針對您的情況進行詳細說明。

目前尚不清楚路由器是否正在執行圖表中的 SSH 伺服器,或者您是否只是說您將通過它移動 SSH 流量。我假設您只是通過埠轉發通過它移動 SSH 流量,在這種情況下,我會:

  • 從您的 PC 啟動一個 SSH 會話到路由器的公共 IP 地址,該地址大概有一個埠轉發到 Debian VM 的 SSH 伺服器埠
  • 將 PC 上的埠 139(指定為 127.0.0.2:139)轉發到 Windows 7 PC 的 LAN IP 地址,埠 139(假設 Debian VM 可以訪問 Windows 7 PC)。如果您使用的是 OpenSSH,則語法為ssh router-ip -L 127.0.0.2:139:win-7-pc-ip:139
  • 創建一個/etc/hosts(或您的作業系統上存在的任何類似物)以將 Windows 7 PC 的名稱解析為 127.0.0.2

這將允許您通過本地環回地址按名稱訪問 Windows 7 PC,該地址轉發到 Windows 7 PC 上的 SMB 埠。

引用自:https://serverfault.com/questions/356369