
我花了幾個小時查看 Super/Stack 和其他網站,但還沒有找到答案。所以,我打算再次嘗試在這裡詢問。我會指出我在連結中找到的一些部分答案,但它們是如此複雜或只回答了一半,我認為這可能會讓閱讀此內容的人變得更糟。
到目前為止,我已經能夠使用自簽名憑證設定在本機 PC 上執行的 Apache 伺服器。我的路由器連接埠將 443 轉送到該伺服器。我還在本地 PC 的連接埠 22 上運行 OpenSSH。我的目標是:
我希望能夠從 Putty/WinSCP 連接到我的 PC 的連接埠 22,透過 443 SSL 連接建立隧道,並透過 SOCKS 進行瀏覽,就像我在所述 PC 上一樣。
我可以嘗試 Stunnel、SSHL、HTTPProxy、Httptunnel、Corkscrew 用戶端或其他任何人可以清楚解釋如何操作(或連結到指南)的工具,但它必須在 Windows 上運行。
我的偏好是設定 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 的一部分。