LoginSignup
83
98

More than 3 years have passed since last update.

sshトンネルを今さらながらやってみた

Last updated at Posted at 2020-10-03

はじめに

恥ずかしながら 5 年目になっても sshトンネルをやったことが無かったのでやってみました。

環境

  • Windows10
  • Git Bash

sshトンネルとは

sshトンネルは sshポートフォワーディングとも言われており、
ポートフォワーディングは主に ssh を使って行われることが多く、
ssh を使ってポートフォワーディングを行うことを
特に sshポートフォワーディング( sshトンネル)と言うらしいです。(伝われ)

実際にやってみる

ssh が実際に出来るサーバを用意します。
何でも良かったので今回は AWS の EC2 で安い Amazon Linux サーバを立てました。

$ ssh -i id_rsa.pem ec2-user@203.0.113.1
-> ログインできる

次にローカル(Git Bash)で実際にポートフォワーディングをやってみます。

$ ssh -L 12345:localhost:80 ec2-user@203.0.113.1 -i id_rsa.pem

ローカルでアクセスしてみましょう。

$ curl http://localhost:12345
-> 203.0.113.1:80 の中身が確認できる。

もし確認出来なければリモートに Apache とか入れてみてください。

何が良いの?

ここまでだと AWS のセキュリティで 80 番を開けて
203.0.113.1:80 にアクセスすればローカルで確認出来るため、何が良いのか分からないですよね?
sshポートフォワーディングを行うことで以下のメリットがあります。

  • ssh プロトコルを使用することで通信を暗号化出来る。(上記では 80 を経由しています)
  • ssh ポートがあればローカルで確認することが出来る。
  • 踏み台サーバを経由してリモートアクセスが出来る。

踏み台サーバを経由すると例えば以下のようになります。

$ ssh -L 12345:localhost:8080 -L 8080:localhost:9080 ec2-user@203.0.113.1

参考

IT用語辞典 ポートフォワーディング
RFC5737 - ドキュメント例示用 IPアドレス

83
98
2

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
83
98