自宅外からRaspberry Piにsshできるようにする
主にこちらを参考にしました。
ローカルIPの固定はすでに済んでいるので、公開鍵認証方式の設定以下を行います。
秘密鍵と公開鍵の作成(Macbook Air側で行うこと)
Macbook Airのターミナルで以下を実行。
Generating public/private rsa key pair.
Enter file in which to save the key (/home/username/.ssh/id_rsa):
これは特に入力せずEnterを押してスルー。
以下のメッセージで、パスワードを設定します。
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
以下のようなメッセージが出れば、秘密鍵と公開鍵が作成されています
Your identification has been saved in /home/username/.ssh/id_rsa.
Your public key has been saved in /home/username/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx username@hostname
The key's randomart image is:
+---[RSA 2048]----+
| |
| |
| |
| |
| |
| |
| |
| |
| |
+----[SHA256]-----+
鍵を作成したら、Raspberry Piにscpで転送します。
scp id_rsa.pub pi@固定IP:~/.ssh/
(~/.sshというディレクトリがRaspberry Piになければ、先にmkdirして作っておく)
Raspberry Pi側で行うこと
$ cd ~/.ssh
$ cat id_rsa.pub >> authorized_keys
$ chmod 600 authorized_keys
$ rm id_rsa.pub
$ sudo emacs -nw /etc/ssh/sshd_config
→
#Port 22
Port 80
→
#PasswordAuthentication yes
PasswordAuthentication no
$ sudo reboot
自宅外のLANからのRaspberry Piへのssh接続
ポート開放
まずはAir Stationの設定画面を開きます。
「ゲーム&アプリ」タブを開き、「ポート変換の新規追加」にいろいろ書き加えて、新規追加のボタンを押します。
グループは何でもいい(RaspberryPiにした)
追加すると、ポート変換登録情報が以下のように書き加えられます。
ここまでできたら、外部から自宅(グローバルIP)にsshして動作を確認します。
その前に、グローバルIPを確認しておきます。
Raspberry Piのターミナル上で、以下を実行。
$ curl ifconfig.io
これで出てきた番号を、次で使います。
さて、自宅外からRaspberry Piにssh接続してみます。
自分はスマホのテザリング+Macbook Airでやりました。
Macbook Airのターミナルで以下を実行します。
$ ssh pi@グローバルIP -p さっき開けたポート番号(80)
追記(2018/08/08)
80はなんか違うと聞いたのでポートは別の番号を開け直しました