0
2

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 3 years have passed since last update.

SSHでポートフォワーディング

0
Last updated at Posted at 2022-08-28

はじめに

最近SSHでポートフォワーディングを使用し、pivotingができるということを知りました。
自分の理解のために検証環境を構築し実際に確認してみたので、備忘録としてこの記事を置いておきます。

フォーマット

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

ssh -L <local_port>:<target_ip_address>:<target_port> <username>@<remote_ip_address>

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

ssh -R <remote_port>:<target_ip_address>:<target_port> <username>@<remote_ip_address>

検証環境

kensho.jpg

  • local
    • ip address
      • 192.168.0.1
    • port
      • 8888
  • remote
    • ip address
      • 10.10.10.10
    • port
      • 9999
  • target
    • ip address
      • 10.10.10.100
    • port
      • 443
    • 接続時に判別しやすいように443でWebサーバを動作させ、下記文言を表示させます。
    <h1>This is the target machine!! IP address is <10.10.10.100>.<h1>
    

検証

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

192.168.0.1の8888ポートを10.10.10.100の443ポートにフォワーディングしています。

ubuntu@ubuntu:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:fb:27:01 brd ff:ff:ff:ff:ff:ff
    altname enp3s0
    inet 192.168.0.1/24 brd 192.168.0.255 scope global ens160
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fefb:2701/64 scope link
       valid_lft forever preferred_lft forever

ubuntu@ubuntu:~$ ssh -L 8888:10.10.10.100:443 ubuntu@10.10.10.10

結果

192.168.0.1:8888にcurlしてみると、設置した文言が返ってくることがわかります。

ubuntu@ubuntu:~$ curl -k https://localhost:8888
<h1>This is the target machine!! IP address is <10.10.10.100>.<h1>

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

10.10.10.10の9999ポートを10.10.10.100の443ポートにフォワーディングしています。

ubuntu@ubuntu:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:fb:27:01 brd ff:ff:ff:ff:ff:ff
    altname enp3s0
    inet 192.168.0.1/24 brd 192.168.0.255 scope global ens160
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fefb:2701/64 scope link
       valid_lft forever preferred_lft forever
ubuntu@ubuntu:~$ ssh -R 9999:10.10.10.100:443 ubuntu@10.10.10.10

結果

10.10.10.10:9999にcurlしてみると、設置した文言が返ってくることがわかります。

ubuntu@ubuntu:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:54:18:20 brd ff:ff:ff:ff:ff:ff
    altname enp3s0
    inet 10.10.10.10/24 brd 10.10.10.255 scope global ens160
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe54:1820/64 scope link
       valid_lft forever preferred_lft forever
ubuntu@ubuntu:~$ curl -k  https://localhost:9999
<h1>This is the target machine!! IP address is <10.10.10.100>.<h1>

まとめ

sshのローカルポートフォワードとリモートポートフォワードの違いがわからなかったので検証してみました。

  • ローカルポートフォワードはssh接続元のポートからターゲットにポートフォワード
  • リモートポートフォワードはssh接続先のポートからターゲットにポートフォワード
0
2
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
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?