SSH 隧道在中國不起作用

SSH 隧道在中國不起作用

去年我在中國工作了幾個月。我從來沒有費心去設定真正的 VPN,只是創建了一個 SSH 隧道,並更改了瀏覽器代理設定以透過它進行連接。

一切都很好(當然除了閃光燈),但這很好。

然而,現在我回到了中國,但我對這種方法遇到了問題。我做了和上次一樣的事情,並且根據https://ipcheckit.com/我的 IP 位址確實是我在美國的(私人)伺服器的 IP,我正在使用我在去中國之前很久創建的指紋登錄到我的伺服器,因此應該不可能出現 MITM。此外,ipcheckit.com 的憑證來自 GeoTrust - 所以一切都應該沒問題

但是,我仍然無法訪問在中國被封鎖的網站。知道怎麼可能嗎?

答案1

如果您使用 Linux 或 osx,您可以嘗試使用 sshuttle 建立 ssh 隧道。這將確保所有資料包都通過隧道傳輸。

https://github.com/apenwarr/sshuttle

./sshuttle -r 使用者名稱@sshserver 0/0 -vv

另外使用公共 DNS 伺服器,例如 Google 或 OpenDNS

另外,如果您想代理您的 DNS 請求,則命令是。

./sshuttle --dns -vvr 使用者名稱@sshserver 0/0

在過去的兩年裡,Sshuttle 為我提供了出色的服務,我可以訪問越南 ISP 封鎖的所有內容。

唯一的缺點是,它僅支援基於密碼的身份驗證(AFAIK)。

答案2

當使用 SSH 代理繞過被 DNS 過濾封鎖的網站時,DNS 請求可能不會通過代理,導致 DNS 洩漏並使 DNS 請求轉到審查 DNS 伺服器。要檢查是否有洩漏,請訪問https://ipleak.net/

若要解決使用 Firefox 代理程式設定時的問題,請務必勾選「使用 SOCKS v5 時的代理 DNS」。

如果你想全部程式在 Windows 上使用代理 DNS,可能會有點困難。這個答案建議執行您自己的 DNS 伺服器,透過代理轉送您的 DNS 請求。如果有人有更簡單的方法,請告訴我,我會更新這個答案。

我在 macOS 上使用系統代理設置,似乎沒有 DNS 洩漏。

答案3

嘗試使用托雷透過 ssh 隧道 在 TOR 中的代理設定下使用 ssh 隧道

答案4

以下是如何使用公鑰身份驗證透過 sshuttle 隧道傳輸所有內容,包括 DNS。

sshuttle --dns -vr <remote username>@<remote IP address> 0/0 --ssh-cmd 'ssh -i <path to private key>'

相關內容