Raspberry Π

Raspberry Piでいろんなことをやってみようというブログです。

mincraft

wifi経由でSSH接続する

Raspberry Piwifi経由でSSH接続をするためのメモです。

f:id:taka230035:20161001200357p:plain:w300



PC(今回の場合Mac)からSSH接続できるようにすることで、
Paspberry Piへのごちゃごちゃした配線周りを一気に削除したいと思います。
ついでにLANケーブルも取り除いて、wifi経由にしてしまおうということです。
今回は参照サイトを一部参考にしております。
Raspberry Pi 3を買ってMacを使ってWiFi接続とSSHの接続するまで



SSH接続について

Release dateが2016-11-25
Version:November 2016以前のRASPBIAN OSでは
ssh接続はデフォルトで初期よりenableとなっております。



Version:November 2016からはセキュリティ観点からdisableとなっています。
バージョンによって、仕様が変わるので注意です。


OSのインストール記事にも記載しておりますが、 初期よりssh接続を行う場合の設定は以下となります。


まず、作業PC(Mac等)でMicroSDカードを認識します。

特に設定しなければ、MicroSDカードはFinderにて

boot

メディアとして読み込まれていると思います。
f:id:taka230035:20161207232605p:plain:w200


そのbootのディレクトリ直下に

ssh

というディレクトリ(フォルダ)を新規で作成するだけssh接続が可能となります。
f:id:taka230035:20161207232627p:plain:w200



ssh接続はMacPCのターミナルから

ssh pi@"ラズパイのIPアドレス" 例) $ ssh pi@192.168.1.3

で接続できます。

ただし、Raspberryに設定されるIPアドレスが分かっていることが前提だと思います。

SSHの設定を一応記載しますと、
Raspberry Piのターミナルより

$ sudo raspi-config

より

9 Advanced Options
※バージョンによっては、7 Advanced Optionsとなっているようです。
f:id:taka230035:20161001200429p:plain:w200

A4 SSH
f:id:taka230035:20161001200454p:plain:w200

Enable
f:id:taka230035:20161001200508p:plain:w200

よりSSH接続できるようになるようです。自分の環境では最初からEnableでした。




wifi設定について

Raspberry Pi 3には標準でwifi機能が付いています。
ターミナルより以下コマンドよりwifiSSID設定を行います。


$ sudo sh -c 'wpa_passphrase "SSID" "パスワード" >> /etc/wpa_supplicant/wpa_supplicant.conf'



sudo sh -c 'wpa_passphrase "AAAABBBB" "xxxxxx" >> /etc/wpa_supplicant/wpa_supplicant.conf'



このままだとファイルにパスワードがコメントアウトされていますが、ベタで記載されてしまうので、消しておいたほうが良いです。

$ sudo vi /etc/wpa_supplicant/wpa_supplicant.conf

⇒$ sudo cat /etc/wpa_supplicant/wpa_supplicant.conf
 country=GB
 ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
 update_config=1
 network={
   ssid="AAAABBBB"
   psk=11111222222333333444444
 }


以下コマンドでシャットダウン後、

//シャットダウンコマンド
$ sudo shutdown -h now

Raspberry Piに接続されるwifiIPアドレスが分かるのであればLANケーブルを抜きます。
IPアドレスが不明の場合はOS起動後、IPアドレスを確認して、LANケーブルを抜きます。

//IPアドレス確認コマンド
$ ip addr

⇒3: wlan0: の
inet欄を確認


以下コマンドで、wifiネットワークよりSSH接続できるか確認します。

//SSH接続
$ ssh pi@192.168.X.X(wifiでのIPアドレス

⇒上記でwifi接続できれば本項目での作業は完了です。

以下の画像のように
電源ケーブルのみでRaspberry Piが使用が可能です。
またwifiと電源環境があれば、Raspberry Piを持ち歩くことが出来ます。
f:id:taka230035:20161001200534j:plain:w200



ssh接続時にエラーが表示される

ssh接続時にPCのターミナルに

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

と表示される場合がありました。

接続先のラズパイについて、
OSの再インストールや切り替えを行った場合に表示されるセキュリティエラーとなります。
以前、同じIPで異なる種類のOSに接続したことがあると思われます。

以下のコマンドより、今回接続しようとしているIPの行を削除すると、接続できるようになります。

$ vi ~/.ssh/known_hosts





wifi設定をもう少し改良

wifi設定をし、Raspberry Piを持ち歩けるようになったとはいえ、
まだ国内ではwifiフリースポットってそこまで普及してないし、事前登録だったりが面倒だと思ってます。

なので、スマホのインターネット共有(テザリング)でPCとRaspberry Piを接続できないか考えました。
下記のイメージ
f:id:taka230035:20161001200548p:plain:w200

結果としては、接続可能で、さらに持ち歩きたくなるようなものとなりました!
iPhoneの場合
f:id:taka230035:20161001200601p:plain:w200

//iPhoneより
設定アプリよりインターネット共有をタップ
iPhoneバイス名とwifiのパスワードを確認します。


//Raspberry Piより上記と同じく、以下設定
$ sudo sh -c 'wpa_passphrase "iPhoneのデバイス名" "wifiパスワード" >> /etc/wpa_supplicant/wpa_supplicant.conf'

上記より
iPhone画面上部に2台接続されたことが分かればOK!!!
f:id:taka230035:20161001200618p:plain:w200


ただ、データ通信量には注意!!
個人の考えでは、Raspberry PiとPC間では料金はかからないと思うのだが。
Raspberry Piからインターネットする時は料金がかかるかと。
自分の場合は、
半日Raspberry Piにライブラリをインストールとかしていて、200MBとかでした。




wifi設定を共存させる

テザリングでもRaspberry Piに接続出来たはイイけど、自宅とかでは家のwifiを使いたい。
テザリング料も掛かるし、節約したいと思い。
自宅wifiスマホテザリングの共存の設定もメモします

注意!独学でやってみて、出来たレベルなので、設定があっているか不明です。


$ ip addr

より、自宅だと、
3: wlan0:
に繋がり
スマホテザリングだと
3: wlan1:
になっているようです。


なので、

$ sudo vi /etc/wpa_supplicant/wpa_supplicant.conf


//↓設定内容

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=GB

network={
 ssid="自宅wifiのID"
 psk="111122222"
 key_mgmt=WPA-PSK
 id_str="wlan0"//←★ここを設定 自宅wifi wlan0
}

network={
 ssid="takaiPhone"
 psk=33333334444444
 id_str="wlan1"//←★ここを設定 テザリング wlan1
}


自分環境だと
wpa_supplicant.conf
を修正することで簡単にwifi設定を共存できました。

ただ、それぞれの優先度については不明です。
自宅に居る時、テザリングをONにすると、テザリングの方に繋がります。

自宅にいるとき、テザリングをONにするタイミングは無く、特に困らないのでここは無視です。


以上です。