Raspberry Piでサーバーをたてる

サーバーをたてるって言う時、立てるなのか建てるなのかよくわからないけれど、お名前からドメイン更新しろってメールがうるさいので積みラズパイで鯖たてた。
ドメインは勉強用に30円で取ったものなので更新しないでまた新しく1円のものを取る予定。

Raspberry Pi Model B Rev 2
OS Raspbian Stretch Lite
Minimal image based on Debian Stretch
Version: March 2018
Release date: 2018-03-13
Kernel version: 4.9
SHA-256: d58b4bd15e53380b8627df49b26ff7ccd80fc5d424a5cafe48a83fee58fc7047

準備

1.SDカードにOS焼く
2.ディスプレイとキーボードと電源繋いでssh使えるようにする
3.IPアドレス固定する
4.電源はルーターからUSBで取ってLANケーブルをルーターにつなぐ


sshの設定

Raspbian Stretch Liteなのでラズパイの電源を入れるとGUIが最初から入っていないCUIで起動する。
Raspbian Stretchも試したけどOfficeとかいろいろ入っていて起動鬼遅いし壁紙が道路の写真になってて気に入らなかったのでLiteに変えた。
sshを使用できるように設定する。
raspi-configコマンドを打つ。

f:id:ultra-genma:20180414212854p:plain 5 Interfacing Optionsを選択する。

f:id:ultra-genma:20180414212857p:plain P2 SSHを選択してEnableにする。

ssk-keygenコマンドでRSA鍵を生成する。
鍵生成時のパスフレーズsshログインするときに必要なので覚えておく。
~/.sshディレクトリにid_rsaとid_rsa.pubという秘密鍵と公開鍵が生成される。
公開鍵を登録する。

cat id_rsa.pub >> .ssh/authorized_keys

登録したら公開鍵id_rsa.pubは削除する。
秘密鍵id_rsaはサーバー側で生成したのでクライアントに移す。 ラズパイはSDカードなので電源切ってSDカードをクライアントになるパソコンに繋いで移した。


パスワードログインを禁止

PermitRootLoginとPasswordAuthenticationがコメントアウトされてるので#を消して設定する

sudo vi /etc/ssh/sshd_config

で開き PermitRootLogin no PasswordAuthentication no に設定して:wqで保存してファイル閉じる


IPアドレスを固定する

以前のRaspbianだと/etc/network/interfacesを編集する必要があったけど今はdhcpcd.confを編集するよう書いてある。

# 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

dhcpcd.confを開くとIPアドレス固定方法が書かれている。

sudo vi /etc/dhcpcd.conf
# Example static IP configuration:
#interface eth0
#static ip_address=192.168.0.10/24
#static ip6_address=fd51:42f8:caae:d92e::ff/64
#static routers=192.168.0.1
#static domain_name_servers=192.168.0.1 8.8.8.8 fd51:42f8:caae:d92e::1

これに従って編集する。例えば192.168.0.3に固定する。
interface名はeth0ではなくenxffffffffffffffのようにenx+macアドレスになっている。
これはifconfigコマンドで確認できる。

interface enxb[macアドレス]
static ip_address=192.168.0.3/24
static routers=192.168.0.1
static domain_name_servers=192.168.1.0 8.8.8.8

保存して閉じる。
このままifconfigコマンドで確認してもまだIPアドレスは固定されてないので必ずrebootなどで再起動する。
起動したらifconfigで確認する。 準備ができたらサーバーを常設するところに置く。
ルーターのUSBから電源をとり、LANケーブルをルーターに繋いでラズパイはルーターに輪ゴムでとめた。


Ubuntuからサーバーへ接続

Terminalから接続する。
id_rsaの置いてあるディレクトリに行き、-iオプションで秘密鍵を指定する。
接続先は[ラズパイでログインするユーザー名]@[IPアドレス]

ssh -i id_rsa pi@192.168.1.3

繋がると鍵生成時のパスフレーズを求められるので入力する。

Enter passphrase for key 'id_rsa':

うまくつながれば成功。