ラズパイでラジコン(1):Raspbian Jessie (Lite) の初期設定

Raspberry Pi2に対してRaspbian Jessieをインストールした時の備忘録

Raspbian JessieのイメージをSDに作成する

ここからイメージをダウンロードする。

https://www.raspberrypi.org/downloads/raspbian/

> unzip 2017-07-05-raspbian-jessie-lite.zip

以下はMAC OSXでイメージをSDに書き込んだ場合。SDカードがどこにマウントされているかを確認する。そのあとにddコマンドでイメージを書き込む。

> diskutil list
:
/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *8.0 GB     disk2
   1:             Windows_FAT_32 boot                    66.1 MB    disk2s1
   2:                      Linux                         7.9 GB     disk2s2

> sudo dd bs=4m if=./2017-07-05-raspbian-jessie-lite.img of=/dev/rdisk2

Raspbian Jessieのログインと初期設定

作成したSDカードをRaspberryPiに挿入して、電源ONする。
ログインの初期ユーザは"pi"、パスワードは"raspberry"でログインする。

ログインに成功したら、raspi-configコマンドで初期設定を行う。

> raspi-config
  • Change User Password
    任意のパスワードに変更

  • Hostname
    任意のホスト名に変更

  • Localisation Options
    Localeを"en_US.UTF-8"と"ja_JP.UTF-8"を選択しデフォルトは"en_US.UTF-8"にしておく(jpを選択すると、標準コンソールで文字化けするので)、TimezoneはAsia/Tokyo、Keyboard LayoutはGeneric 105-key(Intl)PC/Japanese/Japanese(Dvorak)

  • Interfacing Options
    各種インタフェースの設定を行う。Camera、SSHサーバ、SPI、I2C、SerialあたりをEnableにする

完了したら、一旦rebootする。

ネットワーク設定 (Wifi)

純正のWifiドングルに対して、固定のIPアドレスを設定しておく。設定はdhcpcd.confファイルを修正する。(ネットワーク周りの設定方法は従来から変更されているので注意)

> sudo vi /etc/dhcpcd.conf

interface wlan0
static ip_address=192.168.1.50
static routers=192.168.1.1
static domain_name_servers=192.168.1.10

wifiの設定ファイル(wpa_supplicant.conf)に対して、SSIDやパスワードを設定する。

> sudo sh -c 'wpa_passphrase [SSID] [PASSPHRASE] >> /etc/wpa_supplicant/wpa_supplicant.conf'

> vi wpa_supplicant.conf

country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
  ssid="設定したID"
  #psk="設定した生パスワード" <= 削除する
  psk="暗号化されたパスワード"
}

> sudo reboot

再起動後、Wifi経由でインターネット接続できるか確認しておく。

sshサーバーの設定

ポート番号の変更と、公開鍵を有効、パスワードによるログイン不許可にする。

> sudo vi /etc/ssh/sshd_config
Port 1033
AuthorizedKeysFile %h/.ssh/authorized_keys
PasswordAuthentication no

sshログイン用の公開鍵を作成する。ファイル名、鍵を使うときのパスワード設定は任意で設定する。成功すると、カレントディレクトリに秘密鍵と公開鍵(*.pub)が作成される。

> ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in witch to save the key(/home/pi/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
:

この鍵をSSH認証ファイルに追記しておく

> cat id_rsa.pub >> ~/.ssh/authorized_keys 
> sudo chmod 0600 ~/.ssh/authorized_keys

秘密鍵をアクセスする外部端末に対して、渡す必要がある。今回はローカルサーバーのSambaで運用している共有フォルダ(Temp)に一時的にコピーしてみる。

ちなみに、接続先のパス(以下だと/Temp)は、フルパスではない。ネットワーク越しに参照できるパスを記述すること。

> sudo mkdir /mnt/samba
> sudo mount -t cifs //192.168.1.10/Temp /mnt/samba -o username=hoge

> cp id_rsa /mnt/samba/

コピーができたら、外部端末へ秘密鍵の設定をしてsshログインできるか確認する。あとは、リモートで作業したほうが捗るはず。