我在 000webhost.com 上有一個免費託管的網站。我無法直接連接到該網站,因為康卡斯特因其他人託管惡意內容而阻止了 000webhost 的部分伺服器的免費帳戶。
為了維護我的網站,我無法使用我的電腦直接連接到伺服器。我想知道是否有一種方法可以專門透明地轉發透過代理程式存取伺服器的嘗試。
我目前使用的系統是 Windows,但我也有運行 Mac OSX 和 Linux 的系統,因此適用於任何系統的解決方案都可以。我找到了適用於 http 的答案,但我正在尋找一個解決方案,它可以讓我使用所有其他功能,例如 ftp 和 ssh。
答案1
如果您有可以聯絡的 ssh 伺服器,則需要執行兩個步驟。
您需要做的第一件事是為您的 ssh 伺服器設定無密碼(公鑰)身份驗證。這涵蓋在如何設定 SSH 以便無需輸入密碼?
我假設 server1 是您的 ssh 伺服器,而 server2 是您被封鎖的伺服器。
現在要 ssh 到您的第一台伺服器,並自動 ssh 到第二台伺服器,您可以執行以下操作:
ssh me@server1 'ssh me@server2'
當您設定了無密碼登入 server1 時,將建立 ssh 會話,並且它將執行 ssh 到第二個伺服器的命令。從您的角度來看,系統只會提示您輸入密碼登入 server2
要透過 ssh 伺服器代理 Web 連接,您可以使用
ssh -D8080 me@server1
這會在本機連接埠 8080 上設定一個襪子代理程式。
要在瀏覽器中使用此功能,您需要說明要透過代理程式轉發哪些 URL。 Firefox 有一個名為 FoxyProxy 的擴展,它可以讓您定義應轉發到特定代理的特定 url 或模式。127.0.0.1:8080
當 ssh 會話正在進行時,socks 代理程式地址就會出現。
對於 FTP 用戶端,您通常可以為每個連線規定一個 SOCKS 代理,這也將指向127.0.0.1:8080
.
您可以將上面的兩者結合起來,如下所示:
ssh -D8080 me@server1 'ssh me@server2'