ファイアウォールを介してSSHトンネルを設定するには?

ファイアウォールを介してSSHトンネルを設定するには?

家には、ファイアウォールの背後でLinuxを実行するNASがあります。 Transmission GUI(ポート9091)やwebmin(ポート10000)などの一部のサービスを使用していますが、ポート22のSSHトンネルを介してリモートでアクセスしたいと思います。

作業を簡単にするために、できるだけ多くのネットワーク接続ポートを閉じて、NAS用のポート22のみを開きたいと思います。

PuTTY(ローカルポート10000、リモート.ip.address:10000)でトンネルを設定しようとしましたが、SSHログインに成功した後もファイアウォールルールがまだ実行されているようです。これはSSHトンネリングの正しい使用ですか?

答え1

ファイアウォールでトンネルポートを開く必要はありません。 SSHポートだけを開くと終了です。

いくつかの問題の1つが発生する可能性があります。

  • ローカルポートはすでに使用中である可能性があります。 netstatを使用してポートが使用されていることを確認してください。
  • トンネルポートに接続すると、リモートアドレスではなくlocalhost(127.0.0.1)であることがわかります。一部のソフトウェアはこれが好きではないかもしれません。
  • トンネルはサーバーで閉じることができます。この場合、トンネルは機能しません。
  • 別のホストにトンネルしている場合(remote.ip.addressがトンネリングするホストにはない)、SSHサーバーのAllowTcpForwarding設定によってブロックされる可能性があります。
  • 同じホスト(remote.ip.addressは127.0.0.1またはサーバー上の他のIP)のポートにトンネリングしている場合は、ターゲットソフトウェアへのトンネリングが気に入らない可能性があります。たとえば、一部のVNCサーバーは、ループを防ぐために、デフォルトで同じホスト接続をブロックします。

デバッグフラグを有効にして接続してみてください。

答え2

ログインが必要なVoIP電話でファイアウォールを通過する必要がある場合は、次のようにします。

putty.exe -ssh username@publicip -pw password -L localport:privateip:destinationport

関連情報