【ssh】ローカルポートフォワーディングとは?知ってると便利なsshの機能

HowTo
スポンサーリンク

挨拶とか前書き

皆さんこんにちは、FascodeNetworkのブログスケジュール管理などを行っているなおこです。

今回は、sshの便利な機能である、sshポートフォワーディングのローカルフォワーディングをご紹介したいと思います。

ダイナミックフォワーディングやリモートフォワーディングもありますが、今回はローカルポートフォワーディングを中心にメモも兼ねて軽い解説を行っていきたいと思います。

今回使うPCスペックや実行環境

  • OS : Alter Linux(実質Arch Linux)とWindows10Proデュアルブート
  • MB : B450M Steel Legend
  • CPU : AMD Ryzen 5 5600x
  • GPU : NVIDIA GTX 960
  • RAM : 32GB
  • HDD : 4TB

sshとは

sshについては過去のブログにまとめたので参考程度にどうぞ↓

https://blog.fascode.net/2021/12/19/sshwow/

ポートフォワーディングとは

ネットワークから送られてきた特定のポート番号へのパケットを、事前に指定された内容に基づき転送することをポートフォワーディングといいます。

ポートフォワーディングはトンネリングとも言われており、不明確な通信をネットワークに入れないようにすることができます。

セキュリティの観点から外部の通信を最小限に抑えることができ、ポートフォワーディングを行うことでインターネットにつながるIPアドレスを絞ることができます。

sshポートフォワーディングとは

sshのポートフォワーディングは通信をする際にsshの経路を使用することにより通信を暗号化することができます。

sshのポートフォワーディング機能が有効化されているサーバーであれば、コマンド1行で暗号化された経路のポートフォワーディングを行うことができるので是非使いたい機能ですね

軽いコマンドの解説や実際の活用例

ローカルポートフォワーディング

ローカルポートフォワーディングは接続する際にターゲットホスト:8888と言ったように接続先のローカルIPアドレスやローカルホスト名を使用して接続します。

ローカルポートフォワーディングを行うコマンドは下記のようになります。

ssh -L  ローカルポート:ターゲットホスト:ターゲットポート ユーザー@リモートホスト

バックグラウド動作やコマンドを実行しない場合

バックグラウドで動作させたり、コマンドを実行せずにポートフォワーディングのみを行う場合は下記のsshコマンドオプションを追記することで思い通りのポートフォワーディングを行うことができます。

  • -f  バックグラウンドで動作させる場合
  • -N  接続先でコマンドを実行しない場合

その他

過去のブログでsshポートフォワーディング技術を活用して外部ネットワークのNode.jsプログラムからアクセス制限されているMysqlにアクセスする方法とか

https://blog.fascode.net/2021/10/06/nodejs-ssh-tunnel-ssh-mysql/

sshローカルポートフォワーディングのメリットやデメリット

2021/12/23時点のsshローカルポートフォワーディングを使用することで感じたメリットやデメリットをまとめてみました。

メリット

  • 暗号化された通信を行うことができる。
  • 外部からアクセスできないポートなどにアクセスできる。
  • レンタルサーバーなどの特殊な環境でも応用が効く

デメリット

  • ssh接続が可能なサーバーが必要

最後に

sshで暗号化された経路を使用してポートフォワーディングを行う方法を紹介しました。

そのうちリモートポートフォワーディングやダイナミックポートフォワーディングなどのやり方も紹介します。

それではそれでは次のブログでお会いしましょう。

コメント

タイトルとURLをコピーしました