私のオフィスにはファイアウォールの背後にあるサーバーがあり、NATの背後にはホームサーバーがあり、持ち歩くラップトップがあります。たまに自宅でオフィスサーバーに接続したいので、以下のように設定してみました。
ホームルータはポート2223をホームサーバポート22にリダイレクトします。
私のオフィスでautosshとsystemdデバイスを使用してリバーストンネルを実行しています。
[Unit]
Description=Call home using port 2223 and reverse tunnel 22222 into 22
After=network.target
[Service]
User=atilla
Environment="AUTOSSH_GATETIME=0"
ExecStart=/usr/bin/autossh -p 2223 -N -R 22222:localhost:22 atilla@my_home_ip
[Install]
WantedBy=multi-user.target
私のホームサーバーからssh -p 22222 localhost
オフィスサーバーに接続できます。ただし、自宅で実行するとssh -p 22222 homeserver.local
接続が拒否されます。常にホームサーバーにログインし、別のホップを実行する必要があります。
オフィスサーバーは最新のRaspbianを使用し、ホームサーバーはUbuntu 22.04を使用し、すべてデフォルト設定になっています。
ベストアンサー1
それについて読んだ後、autossh
私はいくつかの兆候に加えて」他のすべてのパラメータはSSHに渡されます。このフラグの仕様はssh -R
マンページに記載されていますman ssh
。
-R [bind_address:]port:host:hostport
構成のオプションbind_address:
部分を(かなり合理的に)省略したので、バインディングはローカルシステムにのみ適用されます。コロンと未定義を含めると、bind_address
ワイルドカードになり、*
どこからでも(ファイアウォール、ルーティング、およびその他のネットワーク管理層に応じて)ポートにアクセスできます。
ExecStart=/usr/bin/autossh -p 2223 -N -R *:22222:localhost:22 atilla@my_home_ip
サービスGatewayPorts
設定を読み、変更することもできますsshd
。既定では、この値は上記のno
操作を実行するのを防ぎます。選択肢やその他のman sshd_config
詳細については、リソースを参照してください。それについて読み取らずに値を選択しないでください。yes
clientspecified
この質問に答えた後、あなたのオフィスネットワークへの管理されていないアクセスはITポリシー違反である可能性が高く、懲戒処分を受ける可能性があることを指摘したいと思います。特に「どこでも」アクセスできるルートの場合。