4GPiとIP固定SIMカードを使用してRaspberry Piに遠隔でSSH接続する

[4GPi]:https://mechatrax.com/products/4gpi/
[slee-Pi3]:https://mechatrax.com/products/slee-pi/
[ADPi]:https://mechatrax.com/products/adpi/
[機能拡張モジュール]:https://mechatrax.com/products/
[イプシム]:https://ipsim.net/
[USB-シリアル変換ケーブル]:https://store.mechatrax.com/product.php?id=38
[弊社]:https://mechatrax.com/
[メカトラックス株式会社]:https://mechatrax.com/
[SORACOM]:https://soracom.jp/
[SORACOM Napter]:https://soracom.jp/services/napter/
[Remote.It]:https://ja.remote.it/
[@hayat00]:https://qiita.com/hayat00
[Raspberry Pi Imager]:https://www.raspberrypi.com/software/
[弊社オンラインストア]:https://store.mechatrax.com/
[Tera Term]:https://ja.osdn.net/projects/ttssh2/
[OSイメージ]:https://mechatrax.com/data/4gpi/

# はじめに
　[メカトラックス株式会社](https://mechatrax.com/)の[@hayat00](https://qiita.com/hayat00)です。

　今回から3編に亘って、[弊社]製品のRaspberry Pi用通4G（LTE）通信モジュールの「[4GPi]」を使って4G回線に接続したRaspberry Piに、遠隔からSSH接続する3種類の方法をご紹介します。
- **4GPiとIP固定SIMカードを使用してRaspberry Piに遠隔でSSH接続する**
- [4GPiを搭載したRaspberry PiにSORACOM Napterを使って遠隔でSSH接続する](https://qiita.com/hayat00/items/a2dfc2e4b628c75e45f6)
- [4GPiを搭載したRaspberry PiにRemote.Itを使って遠隔でSSH接続する](https://qiita.com/hayat00/items/4ae88b63faab02fb5d04)

　[4GPi]は、SIMカードを差し込んでスタックするだけで簡単にRaspberry Piを4G回線に接続できる、通信機能拡張モジュールとなっています。あらかじめ4GPi用ソフトウェアパッケージをインストールした
[OSイメージ]（標準 Raspberry Pi OS ベース）も公開しています。
> ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/5567d881-9b56-d236-75f0-a648b6b84d3c.png)
> https://mechatrax.com/products/4gpi/　

　今回は、[4GPi]と固定IPアドレスで使えるSIMカードの「[イプシム]」を搭載したRaspberry Piに、遠隔からSSH接続する方法をご紹介します。


# 使うもの
- Raspberry Pi
- [4GPi]
- 固定IPアドレスSIMカード([イプシム])
- Raspberry Piとの通信ケーブル([USB-シリアル変換ケーブル]等)


# 準備
　下記の記事を参考に、4GPiのセットアップを行ってください。
> https://mechatrax.com/blog/setup-4gpi/

なお、イプシムのAPN情報は下記のサイトに掲載されています。
> https://ipsim.net/support.html

NetworkManagerの接続設定を追加するコマンドは下記になります。
```
$ sudo nmcli con add type gsm apn 4gn.jp user sim@with password sim
```


　続いて、SSHの有効化を行っていない場合は、下記の記事を参考に、SSHの有効化を行ってください。
> https://qiita.com/hayat00/items/ac03c252d8fff9c7ceb0

# 手順1：UFWに外部からの受信を許可させる
※ここでは[USB-シリアル変換ケーブル]を使って、[Tera Term]からRaspberry Piにログインしています。シリアル通信を使ったRaspberry Piへのログインの方法は[こちら](https://qiita.com/hayat00/items/0d586f5500e998ab4d2e)を参考にしてください。

　4GPiのOSイメージには、デフォルトでファイアウォールにUFW(Uncomplicated Fire Wall)が使用されています。また、4G回線のインターフェースとしてwwan0とppp0が用意されていますが、これらはデフォルトでUFWにより受信が拒否されています。そのため、4G回線からSSH接続をするため、許可の設定を行います。

　まず、下記コマンドで使用されているインターフェースを確認します。
```
$ ip addr
```
![WS000377-1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/a3127571-372b-5456-f421-7fa052f65fcd.jpeg)

ここではwwan0のインターフェースが使われていることがわかりました。

　続いて、UFWでのwwan0(or ppp0)のインターフェースの受信の許可を行います。まず、下記コマンドでデフォルトのUFWの設定を確認します。
```
$ sudo ufw status
```
![WS000042.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/a8d27584-cd22-3da5-fdb6-bcffcc798de6.jpeg)

wwan0とppp0ともにすべての接続が拒否(DENY)になっていることが確認できました。下記コマンドでSSH接続で使用する22ポートの許可を先頭に設定します。
```
$ sudo ufw insert 1 allow 22
```

先ほどと同様にUFWの設定を確認します。
```
$ sudo ufw status
```
![WS000376.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/c69ed4f6-7aab-5577-f757-4ef0f6a77672.jpeg)
22ポートが許可(ALLOW)されていることが確認できました。




# 手順2：PCからRaspberry Piに遠隔でssh接続
　まず、イプシムのグローバルIPアドレスを確認します。下記コマンドを実行し、wwan0(or ppp0)のinetに続く、IPアドレスを確認します。
```
$ ip addr
```
![WS000377.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/6b50c79e-e1b0-ae3b-1b03-c426c0c77573.jpeg)


　最後に、PCからSSH接続が可能なターミナルソフトを起動し、下記コマンドを実行し、イプシムの回線からRaspberry PiにSSH接続を行います。ユーザー名にはRaspberry Piに設定したユーザー名、IPアドレスには先ほど確認したイプシムのIPアドレスを入力します。
```
$ ssh ユーザー名@IPアドレス
```

# まとめ
　[4GPi]と固定IPアドレスで使えるSIMカードの「[イプシム]」を搭載したRaspberry Piに、遠隔からSSH接続する方法をご紹介しました。
　次回は、[4GPi]と[ソラコム](https://soracom.jp/)社のSIMカードを使用して、[SORACOM Napter](https://soracom.jp/services/napter/)から遠隔でSSH接続する方法をご紹介します。