私のオフィスには、私を含むすべてのコンピュータにローカルIPアドレスを割り当てるローカルネットワークの背後にあるデフォルトゲートウェイがあります。
UbuntuがインストールされているオフィスPCの管理者権限があり、週末にはSSH経由でコンピュータにアクセスする必要があります。
オフィスにパブリックIPはありませんが、常にDHCPから同じローカルIPを取得します。デフォルトのファイアウォールでポート転送を設定することはできませんが、コンピュータに必要なソフトウェアを自由に設定できます。
Linuxを実行している私の家のコンピュータにもパブリックIPが与えられました。 Team Viewerなどのソフトウェアはインストールできません。
私の問題をどのように解決できますか?
答え1
それは簡単です:
[オフィスマシンで実行] Office -> Home接続を設定します。 (Homeには正規のIPがあるためです。)これにより、オフィスマシンから自宅までのリバーストンネルが確立されます。
ssh -CNR 19999:localhost:22 homeuser@home
[自宅のコンピュータで実行]自宅でオフィスに接続します。これにより、ステップ1のトンネルが使用されます。
ssh -p 19999 officeuser@home
場合によっては、この接続パターンによって解雇される可能性があるため、SSHトンネリングが会社のポリシーに違反していないことを確認してください(たとえば、雇用主がこれによって私を解雇しました)。
autossh
PS最初のステップでは、ネットワークが不安定な場合にトンネル接続が自動的に回復されるように、このようなものを使用できます。
答え2
ホームネットワークを制御し、固定の内部IPアドレス(たとえば、ホームPCのMACアドレスベース)を設定したと仮定すると、ホームルーターでポート(4321など)を開き、次の接続を転送できます。 4321度PC。
自宅でsshd
このポートを聞いてください。
もちろん、オフィスにいないときにオフィスコンピュータで実行される一般的な公開/秘密鍵のペアを使用したくないので、ローカルで新しいユーザーを作成します。オフィスコンピュータで公開/秘密鍵のペアを作成し、公開鍵を自宅のコンピュータの新しいユーザーにコピーします。
あなたのホームIP(プロバイダがルーターに提供)が比較的安定しており、このホームIPアドレスをどこかに投稿できると仮定すると(たとえば、Webサイトにアップロード)、オフィス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