0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ポートフォワードのわからなかったところ

Posted at

はじめに

先日はじめてローカルポートフォワードなるものの存在を知りました。ほかにもssh configやviなど世の中にはまだまだ分からないことがたくさんです。

今回はポートフォワードについてまとめようかと思います。

ポートフォワーディング

そもそもポートフォワーディングって何?というところではあるんですが、ググったうえでの辞書的な説明だとこうです。

ポートフォワーディング(port forwarding)とは、IPネットワーク上のある機器が、自らのIPアドレスのTCPやUDPの特定のポート番号への通信を、別のアドレスの特定のポートへ自動的に転送すること。また、ネットワーク機器などの持つそのような機能。

説明を読むとまあ何となくわかった風になれるやつですね。ssh接続のポートフォワーディングにおいて、接続するIPを限定することでセキュリティ対策となるようです。まさかそれ二種類があるなんて思いもしませんでした。

ローカルポートフォワード

おそらく一番身近な存在なのかと思います。
ローカルの自分で指定したポートにアクセスすると接続したい対象の指定したポートにアクセスできる仕組みです。

ssh -L {ローカルのPort}:{host名}:{接続したい対象のPort} {接続先ユーザー名}@{接続先のhost}

たとえば

ssh -L 8008:localhost:80 target_user@sample_target.jp

のようになります。

リモートポートフォワード

ローカルポートフォワーディングを調べる中で初めて知ったし、使ったこともないです。詳しい人、こいつを使う状況とか教えてください。
内容としてはローカルの逆で、リモートからローカルの指定したポートのにアクセスできるようにする仕組みです。

ssh -R {ローカルのPort}:{host名}:{接続したい対象のPort} {接続先ユーザー名}@{接続先のhost}

コマンドでの差はオプションがLRですかね

ダイナミックポートフォワード

ssh接続したい対象が特定のネットワークからのアクセスのみ許可してるときによく登場します。
踏み台サーバーにssh接続して、踏み台のあるネットワーク内であればどこでも接続できます見たいなやり方ですね。

ssh -D {ローカルのPort} {接続先(踏み台)のユーザー名}@{接続先(踏み台)のhost}

正直最初は同ネットワーク内に構築されているという前提を知らず、「踏み台にしかアクセスしてないのに、なんで他のPortにアクセスできるんだ?」とずっと悩んでました。

おわりに

キーの指定したかったらオプションで-iだよとか、hostのところはIPでもいいよ、とか様々細かいやり方あるんだなと思いました。備忘録。

参考

SSHダイナミックポートフォワーディングについて知識整理してみた
ssh接続のポートフォワーディングは3種類ある!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?