第12回 Wi-Fi接続設定をする

今回はWi-Fiの設定方法を説明します。有線LAN接続の機器構成でセットアップをして、あとからWi-Fi接続に変更したい場合を想定しています。新しいコマンドの説明もしますのでWi-Fi接続設定されない方もお読みいただければと思います。

目次

今回の説明

Raspberry Piのセットアップを有線LANで行い、あとから状況が変わってWi-Fi接続に切り替えたいことがあるかもしれません。そのような場合を想定して、あとからWi-Fiセットアップを行う方法を説明します。

この設定方法は機器構成により大きく変わります。デスクトップタイプ機器構成の場合、WindowsやmacOSと同じような手順で行いますので非常に簡単です。一方、リモート接続タイプ機器構成の場合は、いろいろと確認することが多いため設定手順はちょっと複雑です。

ところで、Wi-Fi設定するための事前準備として、Wi-FiルーターのSSIDとパスワードを確認しておきましょう。

SSIDとパスワードの設定をした記憶がなければ、簡単セットアップで設置した可能性があります。その場合は、Wi-Fiルーターの底面などにシールが貼ってあり、そこにSSIDとパスワードが書かれてることが多いです。Wi-Fiルーターのメーカサイトに以下のような感じで説明があるので確認してみてください。

https://www.buffalo.jp/support/faq/detail/15271.html

それでは、これから2通りの機器構成のWi-Fi設定方法を説明します。

デスクトップタイプ機器構成のWi-Fi設定手順

デスクトップタイプの機器構成で有線LAN接続していて、Wi-Fi接続に変更したい場合の設定手順を説明します。

Raspberry Piを立ち上げてデスクトップ画面が表示されたら、右上にあるネットワークアイコンをクリックします。

Raspberry Pi Wi-Fi接続1

「Turn on Wi-Fi」というメニューが表示されますので選択します。

Raspberry Pi Wi-Fi接続2

もう一度ネットワークアイコンをクリックすると、Raspberry Piが検出したアクセスポイントがリストされますので、接続するアクセスポイントを選択します。

Raspberry Pi Wi-Fi接続3

選択するとパスフレーズの入力ダイアログか表示されますので、接続するアクセスポイントのパスフレーズを入力します。

Raspberry Pi Wi-Fi接続4

Wi-Fiに接続できると、ネットワークアイコンがWi-Fiの電波強度を示すアイコンに変わります。

Raspberry Pi Wi-Fi接続5

これでWi-Fi接続完了です。

リモート接続タイプ機器構成のWi-Fi設定手順

リモート接続タイプではデスクトップタイプのようなマウスで操作、設定できる環境はありません。リモートのターミナルアプリで設定ファイルを編集する必要があります。

この設定はそれほど手間ではありませんが、新しいコマンドなどができますので、ひとつずつ詳しく説明しながら進めます。また、前回の記事で出てきたパーミッション(アクセス権)についても出てきますので、復習しましょう!

以下の順番で説明します。

  • ゴール
  • リモート接続
  • Wi-Fi設定ファイルのパーミッションと中身を確認する
  • Wi-Fiの設定をする
  • Wi-Fi接続の確認

ゴール

Wi-Fi接続するには、Wi-Fiの設定ファイルを作成して、その中にSSIDとパスワードを所定のフォーマットで何行か記述するだけです。具体的には、以下の内容のファイルを作成するだけなんです。

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

network={
ssid="ここにSSIDを書く";
psk="ここにパスフレーズを書く";
}

やることは簡単なのですが、設定ファイルを作成したり編集するだけでもいろいろと確認することがあるので、これからステップを追いながら説明していきます。

これから、以下のSSIDとパスワードが設定されていると仮定して説明を進めます。この後の説明は、ご自分のSSIDとパスワードに置き換えてお読みください。

項目 設定値
SSID Tool-Lab Wi-Fi Station
パスワード tool-lab

また、標準でWi-Fi非対応のRaspberry Pi(Raspberry Pi 2シリーズなど)の場合は、Raspberry Pi本体のUSBコネクタにWi-Fi USB無線アダプタをセットします。

Raspi wifi usb

リモート接続

それでは、Raspberry Piの電源を入れましょう。

Raspberry Piが立ち上がったらリモートで接続します。macOSではアプリケーション → ユーティリティ → ターミナルアプリを、WindowsではTeraTermを立ち上げてRaspberry Piに接続します。

以下の作業は、標準でWi-Fi非対応のRaspberry Pi(Raspberry Pi 2シリーズなど)でUSB Wi-Fiアダプタを使用している場合のみに行ってください。

ここから ———-

最初に、Wi-Fi USBアダプタが認識されているか確認します。確認は、「lsusb」 (List USB Devices)というコマンドを使用します。最初の文字は、小文字のエルです。コマンドプロンプトから “lsusb” と入力してリターンキーを押します。

pi@raspberrypi ~ $ lsusb
Bus 001 Device 006: ID 05af:8366 Jing-Mold Enterprise Co., Ltd
Bus 001 Device 005: ID 192f:0916 Avago Technologies, Pte.
Bus 001 Device 004: ID 0411:01ee BUFFALO INC. (formerly MelCo., Inc.) WLI-UC-GNM2 Wireless LAN Adapter [Ralink RT3070]
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

このシリーズでは、Wi-Fi USBアダプタはBuffaloの「WLI-UC-GNM2」という製品を使用しています。上の例では、上から3行目にリストされていることがわかります。この確認ができればOKです。

ここまで ———

Wi-Fi設定ファイルのパーミッションと中身を確認する

それでは設定の内容をもう少し具体的に説明します。設定は

wpa_supplicant.conf

というファイル名のファイルに記述します。このファイル、最後に “conf” とついていますよね。Linuxでは最後に “conf” が付いているファイルは設定ファイルになりますので覚えておきましょう。confはconfiguration(設定)の略です。

このwpa_supplicant.confファイルは

/etc/wpa_supplicant

という名称のディレクトリにあります。このファイルにSSIDとパスワードをエディタを使用して記述しますが、その前にこれから編集するファイルのパーミッションを確認しておきましょう。パーミッションの確認は、

ls -l

で確認できるんでしたよね。設定ファイルは /etc/wpa_supplicant ディレクトリにありますので、以下のように入力します。入力するときはTABキーを活用してみてください!

pi@raspberrypi ~ $ ls -l /etc/wpa_supplicant
合計 44
-rwxr-xr-x 1 root root   937  4月 25  2015 action_wpa.sh
-rwxr-xr-x 1 root root 25892  4月 25  2015 functions.sh
-rwxr-xr-x 1 root root  4696  4月 25  2015 ifupdown.sh
-rw------- 1 root root    72  9月 24 22:49 wpa_supplicant.conf

上の例では、一番最後の行に設定ファイルがあります。この設定ファイルの属性は以下のように読むんでしたよね。

Wpa file ls l

読むポイントは、オーナーユーザでグループ属性です。まずオーナーユーザは “root” ですよね。以前説明したように、なんでもできるユーザです。またグループ属性は “root” になっていますので、rootグループに所属しているユーザでしたら、ユーザーオーナ(=root)と同じ権利があることになります。

それでは次にユーザごとのパーミッションを確認してみます。

Wpa file permission

ここからわかることは、オーナーユーザ、つまりrootユーザのパーミッションは、”rw-“、”root”グループに所属しているユーザとその他のユーザのパーミッションは”- – -“になります。これを言葉でまとめると以下のようになります。

ユーザ パーミッション
root r: ファイル内容の読み取りができる
w: ファイル書き込みができる
-:実行は出来ない
rootグループ所属ユーザ及びその他のユーザ -: ファイル内容の読み取りはできない
-: ファイル書き込みはできない
-: 実行はできない

要するにrootユーザだけしかファイルの中身を読めないし、書けない、ということになります。

今はpiユーザでログインしてますよね。ということはrootユーザではないので、このファイルの読み書きはできないことになります。またpiユーザはrootグループにも所属していませんので(groupsコマンドで確認できます)、やはりファイルの読み書きはできないことになります。でもこのファイルを編集しないことにはWi-Fi設定できないので困りますね。

このような時に、一時的にrootユーザと同等の権利を持つ方法が用意されています。それが sudo というコマンドです。sudoって今までよく出てきましたよね。実は、Raspberry Piの電源をOFFにしたり、再起動したりするコマンド(それぞれpoweroff、rebootコマンド)は、rootユーザの権限が必要です。piユーザではこのコマンドは使用できないため、これらのコマンドをsudoコマンドで実行していたわけです。

このsudoコマンドは、パラメータで指定したユーザとしてコマンドを実行する、というものです。なお、パラメータでユーザを指定しない場合は、rootユーザとして実行することになります。

それでは、wpa_supplicant.confの中身を見て確認してみます。ファイルの中身を見るには cat コマンドを使用します(ファイルの中身を見るコマンドは他にもたくさんありますがここではcatを使用します)。catの後にファイル名を記述するとそのファイルの中身が表示されるはずですが、、、

pi@raspberrypi ~ $ cat /etc/wpa_supplicant/wpa_supplicant.conf
cat: /etc/wpa_supplicant/wpa_supplicant.conf: 許可がありません

piユーザとして実行したため、ファイルの中身を見ることはできません。次にrootユーザ(スーパーユーザ)としてcatコマンドを実行してみます。

pi@raspberrypi ~ $ sudo cat /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

今度はエラーは出ずに中身(らしきもの)が表示されましたよね。ということで、このファイルの中身を見たり、書き込みをしたりする場合は、sudoコマンドでrootユーザとして読み書きする必要があることがわかりました。

ところで、普通のシステム設定ファイル類はroot以外のユーザは書き込みはできませんが、誰でも読むことはできます。でもこのファイルはrootユーザ以外は読むこともできない、ということでアクセス権が厳しいですよね。

考えてみたら自然なことで、このファイルには無線LANに接続するためのSSIDとパスワードが書かれています。一般ユーザがこのファイルの中身を確認できてしまったらセキュリティ上あまり良くない、ということでこのようなパーミッションが設定されています。

でも、ちょっと疑問に思うかもしれません。一般ユーザでも sudo をつければアクセス権がないファイルでも中身を見たり書き込みできたりするのであれば、パーミッションを設定してもあんまり意味がないんじゃ? って感じですよね。

ここもちょっと工夫がされています。sudoコマンドを実行できるのは、sudoグループに所属している必要があります。もう一度piユーザの所属グループを確認してみましょう。

pi@raspberrypi ~ $ groups
pi adm dialout cdrom sudo audio video plugdev games users input netdev gpio i2c spi

左から5番目に sudo ってありますよね。つまりpiユーザがsudoコマンドを実行できるのは、sudoグループに所属しているからなんです。ご参考に、sudoグループに所属していないユーザがsudoを実行するとどうなるか試してみます。

piユーザに対抗して(?)、Raspberryってことで、jamにしてみました。

jam@raspberrypi ~ $ sudo /etc/wpa_supplicant/wpa_supplicant.conf

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for jam: 

なんかpiユーザの時とは違いますよね。何を言ってるかというと、

システム管理者から注意を受けた思うけど、君には以下のことを言いたい。
#1) 他人のプライバシーを尊重すること
#2) こういうコマンドを入力する前によく考えること
#3) 大きな権限は大きな責任がついて回ること

という感じでなんかよくわからないですが、パスワード入力を求められるので入力すると、、、

jam@raspberrypi ~ $ sudo /etc/wpa_supplicant/wpa_supplicant.conf

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for jam: (ここでパスワードを入力)
jam は sudoers ファイル内にありません。この事象は記録・報告されます。

ということで、権限もないのにsudoをやると、管理者に言いつけられるわけです。

Wi-Fiの設定をする

ここまで読むのに疲れてしまいましたよね。ごめんなさい、これから本番なんです。

それでは設定ファイルを編集していきましょう!

設定は、wpa_supplicant.confに以下の内容を追加するだけです。

network={
    ssid="SSIDの文字列"
    psk="パスワードの文字列"
}

でもrootユーザしかアクセスできないファイルとはいえ、パスワード文字列をそのまま書くのって抵抗ありますよね。ということで、もうちょと読みづらいパスワードに変換して記述しようと思います。

細かい説明は省略しますが、WPA/WPA2の場合、本当はパスワードは16進数で64桁固定になっています。ただこれですと、パスワードを入力する場面で間違いなく入力するのは至難の技ですので、ユーザが決めたパスワード文字列とSSID文字列を組み合わせて、裏で16進数64桁のパスワードに変換しています。ということで、設定ファイルに書くパスワードは、ぱっと見わかるパスワード文字列ではなく、16進数64桁のパスワードにします。

この変換には便利なコマンドが用意されています。wpa_passphraseというコマンドで、パラメータにSSIDとパスワードを指定すると、上のようなフォーマットで変換、表示してくれます。

それでは具体的に試してみましょう。wpa_passphraseは以下のように使用します。

wpa_passphrase "SSIDの文字列" "パスワードの文字列"

実際に試してみます。

pi@raspberrypi ~ $ wpa_passphrase "Tool-Lab Wi-Fi Station" "tool-lab"
network={
	ssid="Tool-Lab Wi-Fi Station"
	#psk="tool-lab"
	psk=b9b376a0ce78d485fac613b425498eee9c206d610133fef6f3ceabb39a8d8575
}

こんな感じになりました。パスワードは2通り表示されています。「#」で始まる行はコメント行ですので”tool-lab”の行を削除することになります。

さて、これをwpa_supplicant.confにコピペしたいんですが、ここで新しいコマンドを覚えたいと思います。一旦wpa_supplicant.confの設定から離れます。

Linuxでは「リダイレクト」という考え方があります。今までよく使ってきたlsコマンドは、実行するとその結果は画面に表示されていましたよね。「リダイレクト」とは、何かを実行した時の結果の出力先を変更するものです。実際に試してみます。

まずは普通のlsコマンドです。

pi@raspberrypi ~ $ ls
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos  python_games

このlsコマンドの後に、「>」、スペース、ファイル名と書くと、結果がファイルに出力されます。

pi@raspberrypi ~ $ ls > dir_list.txt
pi@raspberrypi ~ $ 

lsコマンドの結果は、「リダイレクト」されてdir_list.txtという名前のファイルに書き込まれましたので、画面には表示されません。それでは、ファイルが作成されたか確認してみます。

pi@raspberrypi ~ $ ls
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos  dir_list.txt  python_games

dir_list.txtが作成されていますよね。内容を確認してみます。

pi@raspberrypi ~ $ cat dir_list.txt
Desktop
Documents
Downloads
Music
Pictures
Public
Templates
Videos
dir_list.txt
python_games

1行に1ファイル/ディレクトリという差はありますが、lsの結果が出力されていますよね。表示形式が異なるのは、lsの結果を画面に表示する際、文字に色をつけるために特殊なコードが付加されています。ファイルに出力するときはその特殊コードの処理の違いでこのような差が出ています。

リダイレクトのもう一つのタイプも確認します。

上の例では、”>”で出力をファイルに書き出すことができました。このリダイレクトは、もしも指定したファイルがすでに存在する場合、上書きしてしまいます。上書きではなく、追加したい場合、”>>”と書くと追加できます。先ほどのファイルにロング形式のlsの結果を追加してみましょう。

pi@raspberrypi ~ $ ls -l >> dir_list.txt
pi@raspberrypi ~ $ 

dir_list.txtの内容を確認してみます。

pi@raspberrypi ~ $ cat dir_list.txt
Desktop
Documents
Downloads
Music
Pictures
Public
Templates
Videos
dir_list.txt
python_games
合計 40
drwxr-xr-x 2 pi pi 4096 10月 18 12:58 Desktop
drwxr-xr-x 5 pi pi 4096  9月 24 23:48 Documents
drwxr-xr-x 2 pi pi 4096 10月 18 12:58 Downloads
drwxr-xr-x 2 pi pi 4096 10月 18 12:58 Music
drwxr-xr-x 2 pi pi 4096 10月 18 12:58 Pictures
drwxr-xr-x 2 pi pi 4096 10月 18 12:58 Public
drwxr-xr-x 2 pi pi 4096 10月 18 12:58 Templates
drwxr-xr-x 2 pi pi 4096 10月 18 12:58 Videos
-rw-r--r-- 1 pi pi   93 10月 31 14:39 dir_list.txt
drwxrwxr-x 2 pi pi 4096  1月 27  2015 python_games

他にもリダイレクトの種類はありますが、「>」と「>>」の2つを覚えておけばまず大丈夫です。

それでは、wpa_supplicant.confの設定に戻ります。wpa_supplicant.confには、wpa_passphraseの出力結果を追加すればOKです。ということはリダイレクトが使えますよね。こんな感じです。

sudo wpa_passphrase "SSID" "password" >> /etc/wpa_supplicant/wpa_supplicant.conf

長くなってしまって本当にごめんなさい。あとはこのコマンドを実行して、ちょっと編集して再起動すればOKなんですが、もうちょっとコマンドを覚えたいと思います。

今回のWi-Fi設定など、システムの設定ファイルを変更する場合、今の設定ファイルを別名で保存してから設定を変更するように癖をつけておくと良いです。もし設定ファイルをいじっていて訳がわからなくなったら、保存しておいたファイルを元に戻せばいいためです。

このような作業に関連するコマンドを覚えてたいと思います。

ところで、今いるディレクトリは ~ (ホーム)ですよね。ここから/etc/wpa_supplicant/…って指定するのは面倒ですので、/etc/wpa_supplicantディレクトリに移動して作業します。ディレクトリの移動は cdコマンド(Change Directory)を使います。cdの後に移動先のディレクトリを入力すればOKです。

cd 移動先ディレクトリ

それでは、/etc/wpa_supplicantディレクトリに移動しましょう。

pi@raspberrypi ~ $ cd /etc/wpa_supplicant
pi@raspberrypi /etc/wpa_supplicant $ 

コマンドプロンプトのカレントディレクトリ表示が変わりましたね。それでは、wpa_supplicant.confを別名で保存しておきます。このファイルを別名でコピーしますが、ファイルのコピーはcpコマンド(copy)コマンドを使用します。

cp コピー元ファイル名 コピー先ファイル名

それでは、”.bak”という文字を最後につけて保存します。なお、このコマンドはsudoで実行する必要があります。ファイルをコピーする、ということは、元のファイルの中身を「読み込んで」、別のファイルに書き出すためです。piユーザはこのファイルの読み取り権限はないため、sudoが必要になります。

pi@raspberrypi /etc/wpa_supplicant $ sudo cp wpa_supplicant.conf wpa_supplicant.conf.bak

なお、保存したファイル名を削除したい場合やファイル名を変更したい場合が出てくると思いますので、そのコマンドも説明いたします。

まずファイルを削除したい場合は、rmコマンド(remove)を使用します。

rm ファイル名

次にファイル名を変更したい場合ですが、mvコマンド(move)を使用します。

mv 元ファイル名 変更後ファイル名

mvコマンドですが、これはファイル名を変更する、というよりファイルを移動するコマンドなんです。移動の際にファイル名も変更できることから、ファイル名を変更する際にも使用されています。

mv 移動元ディレクトリ/ファイル名 移動先ディレクトリ/ファイル名

それでは、wpa_supplicant.confを保存しましたので、wpa_passphraseの出力をwpa_supplicant.confに追記しましょう。

pi@raspberrypi /etc/wpa_supplicant $ sudo wpa_passphrase "Tool-Lab Wi-Fi Station" "toollabcom" >> wpa_supplicant.conf
-bash: wpa_supplicant.conf: 許可がありません

あれ? sudoしたのにwpa_supplicant.confに書き込みできない、って言われてしまいました。この原因は、ちょっと難しいのですが誤解のない程度に簡単に説明すると、sudoで実行されるのはwpa_passphraseで、そのあとのリダイレクトまでには影響していないためなんです。つまりリダイレクト(>> wpa_supplicant.conf)はpiユーザとして実行されてしまっています。

この対策ですが、以下のように指定します。

sudo bash -c 'リダイレクトを含むコマンド'

リダイレクトを含むコマンドを ‘ で囲み、丸ごとsudoする、っていう感じです。それではいよいよ設定を書き込みましょう。

pi@raspberrypi /etc/wpa_supplicant $ sudo bash -c 'wpa_passphrase "Tool-Lab Wi-Fi Station" "toollabcom" >> wpa_supplicant.conf'

それでは、wpa_supplicant.confに情報が追記されたか確認します。

pi@raspberrypi /etc/wpa_supplicant $ sudo cat wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1


network={
	ssid="Tool-Lab Wi-Fi Station"
	#psk="toollabcom"
	psk=1e70dccd90dacacaf4827b51ef8bea877feece8d1598178c844985835381ac42
}

あとは余分な行、”#psk=”toollabcom”を削除しましょう。これはエディタを使用します。

Linuxには標準でいろいろなエディタが用意されていますが、操作が簡単な「nano」というエディタを使用します。nanoの後にファイル名を指定するとそのファイルが編集できます。sudoで実行することを忘れないようにします。

pi@raspberrypi /etc/wpa_supplicant $ sudo nano wpa_supplicant.conf

以下のような画面になります。

Nano 1

あとはカーソルキーで移動してDeleteキーで#psk…の行を削除すればいいのですが、Controlキー + Kキーで1行削除できますので、そのやり方で試してみます。まず、削除する行頭までカーソルキーを使って移動します。

Nano 2

この状態で、Controlキー + Kキーを押します。

Nano 3

このように行が削除されます。これでOKですので、ファイルを保存します。保存はControl + Oキーです。

Nano 4

わかりづらいのですが、下の方にこのファイルに(上書き)保存してよいか確認がありますので、そのままリターンキーを押します。

Nano 5

下の方に “[Wrote 8 lines]” と表示されれば保存されました。(数字は異なることがあります)

nanoエディタを終了させるのには Controlキー + Xキーを押します。

念のためcatコマンドでファイル内容を確認してみてください。これで設定が終わりました!

Wi-Fi接続の確認

それでは、一旦Raspberry Piの電源をOFFにします。電源を切るコマンドは「sudo poweroff」です。

電源を切ったら、有線LANケーブルを抜きます。その状態でRaspberry Piの電源をONにします。1〜2分待ってからリモートで接続します。

いつものように接続できればOKです。

なお、ネットワークの接続情報やWi-Fiの接続状態を確認するコマンドもご紹介しておきます。

まず、ネットワークの接続情報はifconfigコマンド(Configure a Network Interface)で確認します。

pi@raspberrypi ~ $ ifconfig
eth0      Link encap:イーサネット  ハードウェアアドレス b8:27:eb:0e:71:c4 
          inet6アドレス: fe80::f5b3:4a6a:c78b:8fcf/64 範囲:リンク
          UP BROADCAST MULTICAST  MTU:1500  メトリック:1
          RXパケット:0 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:0 エラー:0 損失:0 オーバラン:0 キャリア:0
      衝突(Collisions):0 TXキュー長:1000 
          RXバイト:0 (0.0 B)  TXバイト:0 (0.0 B)

lo        Link encap:ローカルループバック  
          inetアドレス:127.0.0.1 マスク:255.0.0.0
          inet6アドレス: ::1/128 範囲:ホスト
          UP LOOPBACK RUNNING  MTU:65536  メトリック:1
          RXパケット:72 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:72 エラー:0 損失:0 オーバラン:0 キャリア:0
      衝突(Collisions):0 TXキュー長:0 
          RXバイト:6288 (6.1 KiB)  TXバイト:6288 (6.1 KiB)

wlan0     Link encap:イーサネット  ハードウェアアドレス cc:e1:d5:4d:93:4e 
          inetアドレス:192.168.1.10 ブロードキャスト:192.168.1.255  マスク:255.255.255.0
          inet6アドレス: fe80::226e:cad4:6283:4fec/64 範囲:リンク
          inet6アドレス: 2001:c90:8406:1267:14a7:4705:1f3f:5dd7/64 範囲:グローバル
          UP BROADCAST RUNNING MULTICAST  MTU:1500  メトリック:1
          RXパケット:545 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:179 エラー:0 損失:0 オーバラン:0 キャリア:0
      衝突(Collisions):0 TXキュー長:1000 
          RXバイト:128941 (125.9 KiB)  TXバイト:27869 (27.2 KiB)

見出し部分がネットワークI/F名です。

項目 設定値
eth0 有線ネットワークの情報です。複数ある場合は、eth1、eth2、、というように番号が割り振られます。
lo ローカルループバック、と言って自分自身の仮想ネットワークコネクタになります。Linuxでは必ずloが存在します。
wlan0 無線ネットワークの情報です。複数ある場合は、wlan1、wlan2、というように番号が割り振られます。

あとは各セクションの中に「inetアドレス」という項目があります。(ないものもあります)

これは、そのネットワークに割り当てられているIPアドレス(IPv4)を意味しています。上の例では、有線LANケーブルは抜いていますので、eth0にはinetの記述がありません。wlan0は192.168.1.10が割り当てられていることがわかります。

また、無線LANの情報を表示するiwconfigコマンド(Configure a Wireless Network Interface)があります。

pi@raspberrypi ~ $ iwconfig
wlan0     IEEE 802.11bgn  ESSID:"Time Capsule"  
          Mode:Managed  Frequency:2.437 GHz  Access Point: 90:27:E4:5E:A6:41   
          Bit Rate=57.8 Mb/s   Tx-Power=20 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=63/70  Signal level=-47 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:43   Missed beacon:0

lo        no wireless extensions.

eth0      no wireless extensions.

wlan0の項目を見ると、通信速度や信号の強さなどがわかります。なお、loとeth0には無線LANがない、って書かれています。当然ですが…

Wi-Fiに接続できない場合

上の手順でもWi-Fiに接続できない場合、wpa_supplicant.confの内容に追記が必要になります。その手順を説明します。

まずRaspberry Piの電源をOFFにします。次に有線LANに接続してRaspberry Piの電源をONにします。リモート接続したら、先ほどの手順でnanoエディタでwpa_supplicant.confを開きます。

開いたら、SSIDとパスワードを記載しているところに以下のように「key_mgmt=WPA-PSK」という記述を追加します。

network={
ssid="ここにSSIDを書く"
psk="ここにパスフレーズを書く"
key_mgmt=WPA-PSK
}

追記後、ファイルを保存し、Raspberry Piの電源をOFF、有線LANケーブルを外して再度Raspberry Piの電源をONにします。

今回は、ただSSIDとパスワードを設定ファイルに書くだけ、っていう作業でしたが、かなり長くなってしまいました。でも一つのことを通して、いろいろ確認すると知識が広がりますよ。他にも疑問があったら調べてみてください。

更新履歴

日付 内容
2015.10.31 新規投稿
2019.3.31 Raspbian Stretchの内容に変更
通知の設定
通知タイミング
guest
0 コメント
本文中にフィードバック
全てのコメントを見る
ぽてと
ぽてと
3 年 前

質問があります。
はじめにsshのファイルとwpa_supplicant.confのファイルを作ってリモート接続した時は上手く接続できたのですが、2回目以降は同様にしてもパスワードを求める画面にならず止まったままです。そこでマイクロSDカードを見てみると上の2つのファイルは無くなっており、再度作ると1度は上手く接続できるのですが、それ以降は接続できません。考えられる原因としてはなにがありますか。

管理者
管理者
返信  ぽてと
3 年 前

ご質問どうもありがとうございます。
回答がすっかり遅くなってしまい申し訳ございませんでした。

すみません、すぐに原因が分からなかったので利用されている環境を確認させていただければと思います。

1) OSはRaspbian Stretchでしょうか、Raspberry Pi OS (Buster)でしょうか。(以前はRaspbianと言う名称でしたが、最新版はRaspberry Pi OSと呼ばれていて、現在はDebian Busterベースで作られています)

2) Raspberry Piに接続する環境はどのようなものでしょうか。Windows/Mac、TeraTerm/Atom/VS Codeなど、ハードとソフトの情報をいただけると助かります。

お手数ですがよろしくお願いいたします。

logicalmirror
logicalmirror
4 年 前

こんにちは。
楽しくこのサイト読んでます!
管理者権限メッセージの With great power comes great responsibility.この文言はマーベルコミックのスパイダーマンの登場人物 ベンおじさんのセリフからきてますね。

管理者
管理者
返信  logicalmirror
4 年 前

コメントどうもありがとうございます!
そうなんですか! 知らなかったです。普段は使わない言い回しなので、海外独特のユーモアかと思ってたんですが、べんおじさんのセリフだったんですね。

貴重な情報どうもありがとうございました! なんだかまたLinuxが好きになりました!

パイ
パイ
5 年 前

お世話になります。
pi@raspberrypi ~ $ cat /etc/wpa_supplicant/wpa_supplicant.conf
でSSID、パスワードが見えてしまいます。なぜでしょうか?

管理者
管理者
返信  パイ
5 年 前

ご質問どうもありがとうございます。

SSIDとパスワードが見える、というのはこの記事でいうと、

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
 network={
 ssid=”Tool-Lab Wi-Fi Station”
 psk=1e70dccd90dacacaf4827b51ef8bea87……
}

という内容がpi@raspberrypi ~ $ cat /etc/wpa_supplicant/wpa_supplicant.confを実行すると見えてしまう、ということでしょうか。

この場合、このように見えてしまいます。なお、見えてしまってもいいようにパスフレーズを暗号化しています。

なお、このファイル自体を他の人に見られたくない、ということであれば、chmodコマンドで、自分しか見えないようにすれば大丈夫です。chmodコマンドはこのシリーズでは詳しく説明していませんが、例えば自分のみ(piユーザのみ)読み取り可能にするには、

$ chmod 400 wpa_supplicant.conf

というようにすれば、piユーザ以外はこのファイルの中身を読むことができません。

回答になっているかわかりませんが、不明点ありましたらお手数ですが追加でご質問いただければと思います。

パイ
パイ
5 年 前

お世話になります。
当方、ノートPCからWIN7のリモートデスクトップ接続で、ラズパイ3B+に接続しているのですが、どういうわけかGUIの「Raspberry PIの設定」が開きません。砂時計マークが出ますがタイムアウトで消えてしまいます。
お手数ですが、どうすれば設定画面が開けるのかをご教授ください。

目次