自宅からローカルネットワーク内のオフィスの PC に SSH 接続する

自宅からローカルネットワーク内のオフィスの PC に SSH 接続する

私のオフィスにはデフォルト ゲートウェイが 1 つあり、その背後には、私のコンピューターを含むすべてのコンピューターにローカルに割り当てられた IP アドレスを持つローカル ネットワークがあります。

私はUbuntuがインストールされたオフィスのPCで管理者権限を持っていますが、週末にSSH経由でコンピューターにアクセスする必要があります。

オフィスではパブリック IP を持っていませんが、DHCP から常に同じローカル IP を取得しています。メインのファイアウォールでポート転送を設定することはできませんが、自分の PC に好きなソフトウェアを自由に設定できます。

Linux を実行している自宅のコンピューターにパブリック IP が割り当てられています。Team Viewer のようなソフトウェアはインストールできないことに注意してください。

どうすれば問題を解決できますか?

答え1

それは簡単です:

  1. [オフィスのマシンから実行] オフィス -> 自宅への接続を設定します (自宅にはパブリック IP があるため)。これにより、オフィスのマシンから自宅へのリバース トンネルが設定されます。

    ssh -CNR 19999:localhost:22 homeuser@home

  2. [自宅のマシンから実行] 自宅からオフィスに接続します。ステップ 1 のトンネルを使用します。

    ssh -p 19999 officeuser@home

SSH トンネリングが会社のポリシーに違反していないことを確認してください。このような接続スキーマが原因で解雇される場合もあります (たとえば、雇用主が私を解雇するなど)。

ps. 最初のステップでは、autosshまたはそのようなものを使用すると、ネットワークが不安定な場合にトンネル接続が自動的に復元されます。

答え2

ホーム ネットワークを制御していて、内部 IP アドレスを固定 (たとえば、自宅の PC の MAC アドレスに基づく) に設定している場合は、自宅のルーターでポート (たとえば、4321) を開いて、4321 で PC に転送することができます。

自宅ではsshdそのポートを聞きます。

当然ながら、通常の公開/秘密キー ペアをオフィスのコンピューターで使用して不在時に実行することは望ましくないため、ローカルに新しいユーザーを作成します。オフィスのコンピューターで公開/秘密キー ペアを作成し、公開キーを自宅のコンピューターの新しいユーザーにコピーします。

自宅の IP アドレス (プロバイダーからルーターに割り当てられた IP アドレス) が比較的安定しており、この自宅の IP アドレスを公開する場所 (たとえば、Web サイトにアップロードするなど) があり、オフィスの PC がそこから IP アドレスを取得できる場合、オフィスの PC でリバース SSH トンネルを設定できます。

オフィスの PC は定期的に (たとえば 5 分ごとに) ホーム IP を取得し、IP が変更された場合はリバース SSH トンネルを設定する必要があります。

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

ローカル ポート 12345 に ssh で接続して、オフィスの PC に接続できます。

ssh -p 12345 officelogin@localhost

関連情報