
有什麼方法可以使用 putty 從辦公室電腦(Windows)連接家庭電腦(Linux)。如果是,請告訴我建立連線的步驟。
答案1
設定家庭路由器以允許傳入連接到家庭 PC(運行 Linux)的一種更簡單的方法是將 DMZ 設定為您的 PC。
正如有些人所提到的(也回顧一下):
- 登入家中的路由器,並將DMZ設定為您的本地PC位址(目前我們假設您的linux PC IP位址是192.168.1.5)
- 在你的 Linux PC 上安裝 openssh-server,不要忘記測試它(只需 ssh 192.168.1.5 只是為了測試你是否可以 ssh 到剛剛安裝的 openssh-server)
- 您需要知道您的WAN IP 位址(當您在內部網路之外進行外部連線時,全世界都知道的IP 位址) - 現在我們假設這是8.8.8.8(注意這實際上是google DNS,但我使用的是這個對於這個例子)
- 使用PuTTY 或SSH 連接到8.8.8.8 連接埠22,從您的工作(或連接到互聯網的任何其他PC)進行連接。 /密碼登入您的 Linux 盒子。
- 檢查您的 Linux Box 防火牆並確保它允許 ssh
幾個可能的問題:
上面 3 條關於您的 WAN IP 的資訊。如果您有靜態 IP - 那麼很可能它應該立即起作用。但如果沒有,請仔細閱讀。
上面 3 條關於您的 WAN IP 的資訊。大多數家庭都配備動態 IP,此時您需要 DDNS(動態 DNS)服務發揮作用。 DDNS 可讓您建立名稱(mypc.ddns.com 或類似名稱),您的 PC 會定期向 DDNS 報告您擁有新的 WAN IP。
- 您的 Linux Box 有自己的防火牆和阻止連接 - 我假設您知道如何更改此設置
- 您的路由器有自己的防火牆和阻止連線 - 您可以建立例外。但是 DMZ 設定應該覆蓋路由器上的防火牆阻止,並透過所有未知連接到您的 Linux PC(或 DMZ 設定的任何內容)。
- 您的 ISP 正在封鎖傳入連接埠 22 連線。 ……這是當你有點飽的時候。但有一個解決方法。您的路由器應該允許連接埠轉送。使用非常用連接埠(編一個數字…例如 12222,希望不會被您的 ISP 阻止),然後設定從連接埠 12222 到連接埠 22 的連接埠轉送 - 所有這些都在您的路由器上完成。
很確定其他人可以指出一些更多可能的問題,但現在嘗試一下,看看效果如何。
希望這可以幫助。
答案2
我知道三個選項
轉送連接埠
您可以設定連接埠轉發每個您希望能夠連接到外部的裝置。
- 這假設您知道您的外部 IP 位址。
對於每個設備,您可以指派一個任意外部端口,轉發到端口 22 上的該設備。
VPN
如果您使用本機網路建立 VPN,然後連接到該 VPN,您就可以存取網路上的所有內容。
反向SSH
透過反向 SSH,您可以使用外部伺服器,並設定偵聽 ssh 工作階段。然後,在外部伺服器上,您可以連接到路由器後面的設備,而不受防火牆/連接埠轉發/等的干擾...這是我更喜歡的(因為我還沒有設定 VPN),但我可以存取到外部伺服器。
您可以透過以下方式執行此操作:
家庭網路上的設備ssh -f -N -R 1234:localhost:22 [email protected]
1234
遠端將使用轉送至設備的連接埠在哪裡remote.server.example
是遙控器的位址
然後,在遠端伺服器上ssh -p 1234 -t device_user@localhost
答案3
請在工作中小心執行此操作。 IT 安全人員可能不喜歡它。請務必小心,確保它符合公司政策。
引用 Michael Lucas 的 SSH Mastery 第 83 頁,https://www.tiltedwindmillpress.com/9.99 美元
但是,假設我的桌面位於高安全性網路內。防火牆嚴格限制 Web 瀏覽並阻止所有檔案傳輸。如果我可以使用 SSH 連接到網路外部的伺服器,我就可以將桌面的流量轉送到該外部伺服器,從而不受限制地存取 Internet。我可以透過 SSH 上傳機密文檔,防火牆日誌只會顯示我建立了 SSH 連線。
隧道與安全策略
如果您是組織的安全官員,連接埠轉送可能會讓您考慮完全阻止 SSH。我明白。我已經接過了你的工作。您還應該知道,頑固的用戶可以在 DNS、HTTP 或幾乎任何其他服務或協定中建立 SSH 隧道。絕對阻止 SSH 的唯一方法是拒絕從網路內部到外部世界的所有 TCP 或 UDP 連接,使用智慧檢查流量的 Web 代理,並且不允許客戶端存取公共 DNS(即使透過代理也是如此)。
你正在嘗試的事情可能是可能的。大多數公司防火牆都會開放連接埠 80 以及其他連接埠。在 Windows 中的命令提示字元處netstat -n
,您將獲得一個帶有開放連接埠的內部位址列表,例如
Active Connections
Proto Local Address Foreign Address State
TCP 10.96.144.75:49242 10.96.144.4:445 ESTABLISHED
:
: