在家中本地網路中辦公室的 SSH PC

在家中本地網路中辦公室的 SSH PC

我的辦公室有一個預設網關,其後面是一個本地網絡,為包括我在內的所有電腦分配本地 IP 位址。

我在安裝了 Ubuntu 的辦公室 PC 上擁有管理員權限,週末必須透過 SSH 存取電腦。

在辦公室,我沒有公共 IP,但我總是從 DHCP 獲得相同的本地 IP。儘管我無法在主防火牆中設定連接埠轉發,但我可以自由地在我的電腦中設定我喜歡的任何軟體。

我的家用電腦也運行 Linux,獲得了一個公共 IP。請注意,我無法安裝類似 Team Viewer 的軟體。

我該如何解決我的問題?

答案1

這很容易:

  1. [從辦公室機器執行] 設定連接 Office -> Home(因為 Home 有公用 IP)。這將設定從您的辦公室機器到家的反向隧道。

    ssh -CNR 19999:localhost:22 homeuser@home

  2. [從家用電腦執行] 從家中連接到您的辦公室。這將使用步驟 1 中的隧道。

    ssh -p 19999 officeuser@home

請確保 ssh 隧道不會違反您公司的政策,因為有時您可能會因為這種連接模式而被解僱(例如,我的雇主會因此解僱我)。

附:在第一步中,您可能想要使用autossh類似的東西,這樣在網路不穩定的情況下您的隧道連線將自動恢復。

答案2

假設您可以控製家庭網絡,並且您設定了固定的內部IP位址(例如基於家庭PC的MAC位址),那麼您可以在家庭路由器上開啟一個連接埠(例如4321)來轉送也可以透過4321 連接到您的PC。

在家裡監聽sshd該埠。

在本地創建一個新用戶,因為您(當然)不想在您不在辦公室時使用普通的公鑰/私鑰對在辦公室電腦上運行。在辦公室電腦上建立公鑰/私鑰對,並將公鑰複製給家庭電腦上的新使用者。

假設您的家庭IP(由您的提供者提供給您的路由器)相對穩定,並且您可以在某個地方發布此家庭IP位址(例如將其上傳到某個網站),您的辦公室PC可以在其中檢索這樣,您的辦公室 PC 就可以建立反向 ssh 隧道。

您的辦公室 PC 應定期(例如每 5 分鐘)檢索家庭 IP,如果 IP 已更改,則設定反向 ssh 隧道:

ssh -p 4321 -N -R 12345:localhost:22 reverse@home-ip

您可以使用 ssh 連接到本機連接埠 12345 以連接到您的辦公室 PC:

ssh -p 12345 officelogin@localhost

相關內容