Raspberry PiをポートフォワーディングでLAN外から操作する


ポートフォワーディング -Rオプション

やりたいこと

 ポートフォワーディングでトンネルを掘り、
 お家の外(LAN外)からでもRaspberry Piにアクセスできるようにする。
 例:LAN外pc → (サーバー) → Raspberry Pi

環境

  • このはのVPS

    • Centos 7.5
    • 公開鍵認証設定済み(秘密鍵はローカルにDLする)
  • Raspberry Pi 3 Bモデル

Raspberry Piとサーバーの公開鍵認証の設定

 ラズパイ側で鍵を生成して、公開鍵をサーバーのauthenticated_keysにscpでコピーする
 (秘密鍵は、ローカルとラズパイで2種類生成されている。)

サーバーで10022番ポートを開放する

$ vi /etc/ssh/sshd_config
#Port 22
Port 10022 ← 書き加える
$ systemctl restart sshd.service

忘れずにsshdの再起動を行う。

ポートフォワーディングを行う

Raspberry Pi上で

 $ ssh (ユーザー@サーバーのIPアドレス) -R 10022:192.168.xx.xx(ラズパイのlocalIPアドレス):22 

ユーザーはroot以外で行う。
Raspberry PiのローカルIPの前に、pi@など付けない。

LAN外pcからsshでサーバーのlocalhost 10022番ポートに接続する。

サーバーのターミナルで

$ ssh (ラズパイのユーザー)@localhost -p 10022 

すると、
(ラズパイのユーザー)@localhostのパスワードが求められるが、
ラズパイにそのユーザーで入るときのパスワードを入力すればよい。

最終的に、

 $ ssh (ラズパイのユーザー)@localhost -p 10022 

を入力したターミナルが、ラズパイのターミナルに繋がる。