Raspberry Pi3を購入したらセットアップ 【保存版】HDMI不要!ヘッドレスSSH

      2018/05/14

Raspberry Pi3を購入したらセットアップ 【保存版】HDMI不要!ヘッドレスSSH

Raspberry Pi3を購入したらセットアップ 【保存版】HDMI不要!ヘッドレスSSH




Raspberry Pi3を購入したらセットアップ 【保存版】HDMI不要!ヘッドレスSSH

Windows,Linux,Macから
HDMIを一切使わずRaspberry Pi3を設定、そこからSSH→初期設定までの手順をRaspberry Pi3 Model Bを使って紹介します。
Raspberry Piってモニター必要じゃん?テレビに映して設定しようかな〜という方はこの記事はスキップしてください。
今回の記事ではセットアップ時、運用時を含めRaspberry Pi3本体に直接モニターを繋げることは一切ありません。

Amazon: Raspberry Pi 3 Model B: ¥5780
Raspberry Pi 3 Model B

ヘッドレスとは?


パソコンなどの本体にモニターやキーボードそしてマウスといった機器を接続しないまま運用すること。

今回にあてはめるとRaspberry Pi3本体にモニターやキーボードそしてマウスをつなげない状態で設定、運用するということです。

ヘッドレスの利点

・USB キーボード不要
・USB マウス不要
・HDMI不要
・モニターやマウスに繋げることがないのでRaspberry Pi3本体設置場所の自由度が高まります。
・運用時もキーボードやモニターを繋げることがないのでRaspberry Pi3の周りもごちゃx2しません。

ヘッドレスのデメリット

・ネットワークがない状況でこの方法は使えません。 接続可能なルーターが近くにない等。
・もちろんリモートデスクトップやVNCは可能ですが、そもそもRaspberry Pi3をデスクトップとして運用したい場合にはヘッドレスは合いません。

事前確認

・この作業を始める前にネットワークにRaspberry Pi3本体を直接つなげられる状況であること

用意するもの

・LANケーブル
・マイクロ USB 2.0 (A-microB) ケーブル
・Micro SDカード (8GBあれば可)
・Raspberry Pi3本体

ダウンロードするもの

作業を始める前に以下のものを最初にダウンロードしておくと時間短縮になるでしょう。
Linux,Mac,Windowsで共通に必要なもの
・イメージ書き込みソフト: Etcher ダウンロードページ
※Linux,Macでddコマンド使う方は不要

・OS : Raspbian Jessie Lite ダウンロードページ
サポート期間 2020年4月迄
2018年3月16日時点での最新版はRaspbian Stretch LITEです。
サポート期間 2020〜2022年を予定
以下 Strechをダウンロードしたい際は
Raspbian JESSIE LITEをRaspbian Stretch LITEに読み替えて下さい。
Raspberry Pi3を購入したらセットアップ 【保存版】HDMI不要!ヘッドレスSSH
今回はデスクトップ環境を使わないのでRASPBIAN JESSIE LITEを選択します。
Raspberry Pi3のメモリは1GBです。
JESSIE LITEはデスクトップに必要なソフトが含まれないためJESSIE with DESKTOPに比べメモリ消費量が50MBから200MB少く済みます。

お使いのOSに合わせて作業に必要なソフト、コマンドの表を作成しました。

OS/ソフト Linux Mac Windows
展開ソフト 右クリックから展開またはコマンドunzip コマンドunzipまたはUnarchiver 7zip
OS書き込み ddコマンド またはEtcher ddコマンド またはEtcher Etcher
SSH SSHコマンド SSHコマンド PuTTYまたはSSHコマンド(win10以上)

ダウンロードしたイメージを展開

OS/ソフト Linux Mac Windows
展開コマンド zipファイルを右クリックして展開を選択。またはターミナルを開いてコマンド: unzip 2017-07-05-raspbian-jessie-lite.zip ターミナルを開いてコマンド: unzip 2017-07-05-raspbian-jessie-lite.zipまたはUnarchiver 7zipを使用

展開するとimgファイルが出現します。

2017-07-05-raspbian-jessie-lite.img
展開後は1.7GBありました。
これをSDカードに書き込みます。

SDカードにOS:Raspbianを書き込む

OS/ソフト Linux Mac Windows
OS書き込み ddコマンドまたはEtcher ddコマンドまたはEtcher Etcherを使用

Etcherで楽々書き込み

Win,Linux,Mac共通で使えるEtcherを使いSDカードに先程ダウンロード、展開した
2017-07-05-raspbian-jessie-lite.img
を書き込みます。
Ethcerをインストール後開きます。

Select Imageをクリックしイメージファイル
2017-07-05-raspbian-jessie-lite.imgを選択します。

Select DriveをクリックしSDカードを選択します。

最後にFlash!をクリックします。
6分から10分程度書き込みに時間がかかるのでコーヒーでも淹れて一休みしましょう。

Mac, Linuxでddコマンドを使う場合
SDカードのパスを確認する

Etcherを使った方はこのステップは必要ありません。

Linux

ターミナルを開く
SDカードを入れる前に

dmesg | tail

を実行し現状を見る。
SDカードをパソコン本体またはUSBカードリーターに入れる。
ターミナルで再度

dmesg | tail

SDカードのパスを確認する。今回は/dev/mmcblk0

Mac

ターミナルを開く
SDカードを入れる前に

diskutil list

を実行し現状を見る。
SDカードをMac本体またはUSBカードリーターに入れる。
ターミナルで再度

diskutil list

SDカードのパスを確認する。
参考リンク

ddコマンドで書き込み開始

Etcherを使った方はこのステップは必要ありません。
SDカードのパスを間違えるとHDD,SSDの内容がぶっ飛ぶので要注意。

sudo dd bs=4M if=2017-07-05-raspbian-jessie-lite.img of=/dev/mmcblk0

ifはinput file つまり入力ファイルです。
今回はimgファイル
2017-07-05-raspbian-jessie-lite.imgを指定します。
もしimgファイルどこか分からないときは
ターミナルで
find / -name *raspbian-jessie-lite.img
を実行すると見つかるでしょう。
ofはoutput fileつまり出力先の指定です。
demsgやdiskutilで確認したSDカードパスを指定します。
今回は/dev/mmcblk0です。

SSHの準備

OSの書き込みが終了したらSSHの準備をしましょう。
2016年12月からSSHは無効化されているらしく有効化する必要があります。

OSの書き込み後SDカードをパソコンから一度抜きます。

再度SDカードをパソコン本体に入れ

bootフォルダに行きます。
そこで
右クリックから新規作成→テキストファイル、テキストドキュメントを選択します。
Linuxはbootフォルダを開いたら右クリックで”ターミナルを開く”をクリック

ファイル名に
ssh
と書き込んでエンターキーを押します。
Linuxはターミナルにてtouch sshと入力後、キーボードのエンターキーで実行

これでsshが有効化されます。

こちらのリンクを参考にしました。

Raspberry Pi3 起動!

Raspberry Pi3にSDカードを差し込み、ルーター等からひいたLANケーブルも接続します。
次に電源に使うMicro USBケーブルを接続します。

On/Offスイッチなどは無いのでUSBケーブルをつなぐと通電します。
起動が正常に始まるとラズベリーパイ本体のLEDが黄色や緑など複数が点灯、点滅します。

ラズベリーパイ本体のLEDが赤色だけが点灯した状態が5秒以上続く場合
OSの書き込みに問題があるかもしれません。
imgファイルを再度SDカードに書き込みましょう。
私は間違ってzipファイルをddコマンドで焼いてました。

いざヘッドレスSSH

Raspberry Pi3本体のLEDが激しく点滅しているでしょうか。
Linux,MacからはSSH,WindowsはPuTTYを使いRaspberry Pi3本体に初めてログインしましょう。

OS/ソフト Linux Mac Windows
SSH ターミナルを開いてコマンド SSH ターミナルを開いてコマンド SSH PuTTYまたはSSHコマンド(win10以上)
WindowsからSSH

Windows10からBashが使えるようになったのですが設定で一記事かけてしまうので
今回はWindows XPから10まで幅広く使えるPuTTYでSSHします。
PuTTYをインストール後

PuTTYを開き

HostNameに
pi@raspberry.local
と入力し画面右下にあるOpenを押します。
Security Alertが表示されたら
はい
を選択します。
パスワードを求められたら
raspberry
と入力しエンターキーを押します。
※この時プライバシー保護のため入力するパスワードは画面に表示されません。
しかしきちんと入力されいてるので安心して入力します。
入力後はキーボードのエンターキーを押しましょう。

ログインが完了したら
次の手順 OSの初期設定に進みましょう。

Linux, MacからSSH

SSHコマンドを使うため
ターミナルを開き以下を実行する。

ssh pi@raspberrypi.local

もしエラーで
ssh: Could not resolve hostname
訳 sshはホストネームを解決できなーい
と表示された場合は
・Raspberry Pi3が今SSHしようとしているパソコンと同じネットワークに接続していることを確認する。
ルーターが二台ある環境等でNATを越えられていない可能性があります。

Are you sure you want to continue Connecting? (yes/no)
と表示されたら
yes
と入力します。
passwordを聞かれるので
raspberry
と入力しエンターキーを押します。
※この時プライバシー保護のため入力するパスワードは画面に表示されません。
しかしきちんと入力されいてるので安心して入力します。
入力後はキーボードのエンターキーを押しましょう。

OSの初期設定

Raspberry Pi3ではOSにLinuxを使用します。
今回の設定が済んだ後に気づくでしょう。
たった30MB前後しかメモリを使用しません。

タイムゾーンを日本に

初期状態ではUTCに設定されているタイムゾーンを日本にしましょう。
以下のコマンドを入力しキーボードのエンターキーを押します。

sudo raspi-config

TimeZone
Asia → Tokyo
を選択

SDカードの容量を全て使えるようにする

Expand file system
初期状態のRaspbianはあなたが購入したSDカード容量全てを使えるようになっていません。
Expand file systemを実行することで32GB, 64GB, 128GBなど全てのSDカード容量を使えるようになります。

実行後 Reboot(再起動)してください。

コマンドで再起動するには

sudo reboot

または

sudo init 6

アップデート

再起動後、再度SSHまたはPuTTYでRaspberry Pi3本体にログインしましょう。

ssh pi@raspberrypi.local

次に他の作業をする前にアップデートを済ませます。

sudo apt-get update && sudo apt-get -y upgrade && sudo apt-get -y dist-upgrade && sudo apt-get -y autoremove && sudo apt-get -y autoclean

このステップは10分程度かかるのでまたコーヒーでも淹れて一息しましょう。

アップデートが完了したら
Reboot(再起動)してください。

コマンドで再起動するには

sudo reboot

おすすめソフトのインストール

SSH、PuTTYを使い再度Raspberry Pi3にログインします。

vim htop インストール
vimはエディターです。
これさえあれば設定ファイルを編集したり文字を書き込んだりできます。

htopはターミナル上で使えるタスクマネージャーです。
タスクマネージャーはGUIで動きますがhtopは文字ベースで表示できるのでネットワーク越しにCPU使用率やメモリ使用率、実行中のプロセスを一目で確認できます。

sudo apt-get -y install htop vim

htopを実行して確認してみましょう!

htop

CPUが4コア読み込まれています。
メモリの消費量はたった31MBです。
止めるにはキーボードのCtrlキーを押しながらCキーを押します。

固定IPアドレス

IPアドレスが変わっても問題ない方はスキップしてください。
毎度IPアドレスが変わってしまうと困るなんて方は

sudo vim /etc/dhcpcd.conf

ファイルが開いたらキーボードのShitキーを押しながらGキーを押してファイルの最終行に移動します。
移動後、キーボードのiキーを押して入力モードに移ります。
以下のように設定します。

nohook lookup-hostnameの後ろに入力します。

interface eth0
static ip_address=192.168.11.100/24
static routers=192.168.11.1
static domain_name_servers=8.8.8.8

※eth0はLANに直接挿している場合です。
固定IPアドレスを指定する際はルーターのDHCP範囲外にIPアドレスを指定します。
もしルーターのアドレスやDHCPの範囲ががわからない場合この手順をスキップしましょう。
適当に入力するとRaspberry Piへのネットワーク接続ができなくなります。
static ip addressがRaspberry Piの固定IPアドレスになります。
static routersはルーターのIPアドレスを指定します。
static domain_name_serversはDNSのIPアドレスを指定します。
入力が終了したら
キーボードのESCキーを押し入力モードを抜けます。
次に
:wq
と入力しエンターキーを押せばセーブされます。
:←コロンを忘れずに入力してください。
wqはwrite(書き込み)quit(終了)の略です。

入力後
sudo rebootで再起動

ipアドレスを確認するには

ip a

にて確認できます。

標準のエディタをnanoからvimに変更

crontabを使って定期的に何かを行う場合
crontab -eを使います。
しかしその際に使用されるエディタはnanoです。
nanoでも構わない方はこちらの手順をスキップしましょう。
筆者はvim.basicをオススメします。

vim.tinyやvim.basicがあります。
両者の違いはvim.basicはvim.tinyよりも機能が有効化されています。
vim.tinyは最小構成なので1000以上ある機能のうち12個ほどしか有効になっていません。
ターミナルから以下を実行します。

sudo update-alternatives --config editor



3と入力してキーボードのエンターキーを押せばvim.basicが選択され次回の起動で有効化されます。

cronのLogを有効化

初期設定では
Raspberry Piのcron logファイルが有効化されていません。
ログを有効化するにはrsyslog.confを編集します。

sudo vim /etc/rsyslog.conf

63行目付近の以下の様なラインを検索します。

#cron.* /var/log/cron.log

シャープを消して保存すると/var/log/cron.logへのログが出力されます。
編集後
cron.* /var/log/cron.log

ログファイルの出力先は/var/log/cron.logです
sudo tail -f /var/log/cron.logにて確認できます。

最後に

ここまで1時間もかからずRaspberry Pi3をセットアップできちゃいます。

ここから色々と設定始まるかと思いますが
sudo passwd pi
として標準のパスワードを変更することを推奨します。

またこの状態でバックアップを取っておくと後々SDカードが故障してもすぐ復活できます。
Raspberry Pi バックアップ

Raspberry Pi3と共に
それではDo-you-linux.com読者の皆さんも良い一日を!







 - RaspberryPi ,

0
何か感じたことがあればぜひコメントをどうぞ!x
()
x