teppay’s log

セキュリティ、CTF、機械学習などに興味があります。情報系学生です。興味のあることを思い立った時に書きます。曖昧なことの整理にも使います。月1が目標です。

Raspberry Pi 3 Model BをUSBキーボードなしでセットアップする。[後編]

前編はこち
teppay.hatenablog.com

目標

  • ラズパイを起動する
  • MBPからsshでラズパイにアクセスする。
  • IPアドレスを固定する new!
  • Wi-fiにつなぐ
  • 公開鍵認証でsshログインできるようにする。

3. IPアドレスを固定する。

サーバとしての運用を目指すにあたり、グローバルに公開するのはまだだとしても、IPを固定して、sshでのアクセスを楽にしたいと思います。
DHCPにまかせておくと、IPアドレスが変わってしまって調べなおさなきゃいけませんからね…

/etc/network/interfacesをエディタで開きます。

$vi /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)

# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'

# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

auto lo
iface lo inet loopback

iface eth0 inet manual

allow-hotplug wlan0
iface wlan0 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

allow-hotplug wlan1
iface wlan1 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

コメントを見ると、「固定IPアドレスを使いたければ、dhcpcd.confと'man dhcpcd.conf'に相談しろ」って言ってます。
よって、man dhcpcd.confを見てみると、

$man dhcpcd.conf
[省略]
static value
             Configures a static value.  If you set ip_address then dhcpcd will not attempt to
             obtain a lease and just use the value for the address with an infinite lease time.

             Here is an example which configures a static address, routes and dns.
                   interface eth0
                   static ip_address=192.168.0.10/24
                   static routers=192.168.0.1
                   static domain_name_servers=192.168.0.1

             Here is an example for PPP which gives the destination a default route.  It uses the
             special destination keyword to insert the destination address into the value.
                   interface ppp0
                   static ip_address=
                   destination routers
[省略]

書き方のテンプレがありますので、これを/etc/dhcpcd.confに追記して再起動してみます。

interface eth0
static ip_address=192.168.1.10/24
static routers=192.168.1.1

例によってarpを使って設定したIPアドレスを探してみます。

$arp 192.168.1.10
? (192.168.1.10) at b8:27:eb:53:3d:95 on en0 ifscope [ethernet]

はいMACアドレスからラズパイとわかりますね。 IPアドレスが変わっていますので、固定できているんでしょう。

4. Wi-fiにつなぐ

手のひらサイズのコンピュータにケーブルがつながってるのは非常に邪魔だし、せっかくRaspberry Pi 3 Model Bには、デフォルトでWi-fiのアダプタがついているので、Wi-fiに繋いでしまおうと思います。

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

これを実行して、再起動をかければいいそうです。 再起動する前に、無線のインターフェースにも上の固定IPの設定をしてから。。。

  • ラズパイを再起動する
$sudo shutdown -r now
  • LANケーブルをぶち抜く
  • pingを打ってみる
  • とおった!

これで、有線の煩わしさから開放されました!

5. 公開鍵認証でssh出来るようにする

将来的にグローバルに公開するにしても、しないにしても、sshのたびにパスワード入力するのめんどくさいし、怖いのでパスワード認証はオフにして、公開鍵認証できるようにします。

qiita.com

まんまここを参考にさせていただきました。
エイリアスも設定したので、

$ssh raspi

だけでパスワードの入力もなしにsshログインできるようになりました!!

まとめ

  • IPアドレスを固定できた
  • Wi-fiにつなげた
  • 公開鍵認証でsshログインできるようにできた

次にやりたいこと

このラズパイサーバをつかって、SlackのBotをつくる!