使用 Windows Apache Server 的 HTTPS 加密隧道內的 SSH 和 SOCKS 還是什麼?

使用 Windows Apache Server 的 HTTPS 加密隧道內的 SSH 和 SOCKS 還是什麼?

我花了幾個小時查看 Super/Stack 和其他網站,但還沒有找到答案。所以,我打算再次嘗試在這裡詢問。我會指出我在連結中找到的一些部分答案,但它們是如此複雜或只回答了一半,我認為這可能會讓閱讀此內容的人變得更糟。

到目前為止,我已經能夠使用自簽名憑證設定在本機 PC 上執行的 Apache 伺服器。我的路由器連接埠將 443 轉送到該伺服器。我還在本地 PC 的連接埠 22 上運行 OpenSSH。我的目標是:

  1. 我希望能夠從 Putty/WinSCP 連接到我的 PC 的連接埠 22,透過 443 SSL 連接建立隧道,並透過 SOCKS 進行瀏覽,就像我在所述 PC 上一樣。

  2. 我可以嘗試 Stunnel、SSHL、HTTPProxy、Httptunnel、Corkscrew 用戶端或其他任何人可以清楚解釋如何操作(或連結到指南)的工具,但它必須在 Windows 上運行。

  3. 我的偏好是設定 Apache 伺服器(mod_proxy / proxy pass?)(單獨?)將傳入的 443 轉送到連接埠 22,以便 OpenSSH 取得連線和 SOCKS 進行瀏覽。

    注意:這是流程的描述。我無法使用 VPN(已經在其中一個),也無法在 SSH 上使用 443,因為第 7 層防火牆看到 SSH 協定並封鎖它。用戶端 PC 已使用 VPN,因此無法使用 VPN。

Win PcA > Win ServerB 執行某些內容(Apache/Nginx?){SSL}

然後,當 HTTPS 處於活動狀態並加密時發送:

Win PcA > Win ServerB 透過 WinSCP 或 Putty 執行 OpenSSH {SSH} 以進行 SFTP

&

Win PcA > Win ServerB 透過瀏覽器透過 Putty 執行 OpenSSH {SSH} for SOCKS

這主要是為了知識的目的,但我意識到這也是為了FW打孔。由於它們都是我的計算機,如果需要,我可以在客戶端安裝軟體,但最好的事情是除了 Putty/WinSCP 和瀏覽器之外沒有任何軟體,我可以​​更改客戶端的代理連接埠。這樣,如果我必須從不屬於我的 PC 上運行它,我很可能可以使用 putty/WinSCP,而無需提出標記或需要管理員權限。

我聽說過 Squid 和 Ngnix 作為伺服器端的代理伺服器,但目前我正在運行 Apache 2.4。我想我可以改變它。基本上我想創建一個 Inet 瀏覽(透過 SOCKS 代理)和檔案傳輸端點(透過 22 完全隱藏在 SSL 中),我可以從任何地方存取它們,只要我所在的網路允許 SSL 連接,就不會被阻止。

設定 Apache 和自簽名憑證的指南讓我到目前為止......現在我陷入了太多的選擇。謝謝閱讀。

編輯:有這樣的問題,沒有答案,而且答案令人困惑。但對我來說沒有什麼是完整的。另外,我不確定我的問題格式是否正確。這裡是新來的。

答案1

SSH 已經使用 SSL 來加密流量。為了使用(通常)允許的 HTTPS 連接埠 tcp/443 連接到您的家庭 SSH 伺服器,您只需將 SSH 用戶端和 SSH 伺服器設定為使用連接埠 tcp/443。 WinSCP 作為客戶端允許這樣做。根據用於 SSH 伺服器的軟體,這也應該是可能的,以及安裝您自己的 SSL 憑證。

您不需要為此安裝 Apache。事實上,由於 Apache 會終止 SSL 連接,因此從那裡到本地 SSH 伺服器的加密流量是不可能的(但例如未加密的 telnet)。

如果您需要逃避應用程式識別,可以考慮建立 SSL VPN 隧道,您可以在該隧道上啟動 SSH 隧道…您在 Apache + OpenSSH 中提到了其中的一部分。您需要一個用於 SSL VPN 伺服器的附加軟體,例如(?)OpenVPN,它根本不屬於 Apache 的一部分。

答案2

我對虛擬機器不太了解,所以假設你可以處理虛擬機器問題。 本指南應該有幫助。

您將像指南中那樣設定一個 stunnel4 伺服器(將連線變更為 127.0.0.1:22 並接受 443),然後像平常一樣建立 ssh 伺服器。

繼續到客戶端電腦下載後隧道客戶端,右鍵單擊托盤圖標並轉到編輯配置複製這個(更改ip):

[ssh]
client = yes
accept = 127.0.0.1:22
connect = [ip address of the server]:443

現在返回選單並點擊重新載入配置。你就完成了;你應該只連接到 ssh 但使用 127.0.0.1:22。

相關內容