AI要約
Raspberry PiのIPアドレスを固定して、PCからSSH接続するまでの手順を備忘録としてまとめました。ラズパイ側とPC側の両方の設定方法を詳細に見ていきます。
やること
Raspberry Pi(ラズパイ)のIPアドレスを固定して、PCからSSHで接続します。設定が意外と難しかったので備忘録を残しておきます。ネットワーク関係の設定はたいてい難しいですね。
今回使用するのは Raspberry Pi 4(RAM 2GBモデル)。5が発売されていますが、コスパを考えると4がおすすめ。
手順1|PCでSDカードにラズパイのOSを焼き込む
PCに「Raspberry Pi Imager」をインストールして、32GBのmicroSDカードに適切なOSを焼き込みます。
イメージャーの指示に従えば問題ないはず。OSはデスクトップ付きのものを選択します。イキってデスクトップなし(軽量版)を選ぶと沼に入ることになりますので。

焼き込む前にオプションでホスト名「raspberrypi.local」、SSH機能「ON」を選択します。ネームとパスワードも設定しておきましょう。焼き込みを開始。

注意点として、例えば古の「Raspberry Pi 1」「Raspberry Pi 2」だとOSは32bit版を選択する必要があります(64bit版を焼くと起動しなくて沼)。「Raspberry Pi 3」以降は64bit版OSです。
手順2|ラズパイを起動してIP固定
microSDカードをラズパイに刺して起動。モニター、キーボード、マウスを繋げます。ネット検索すると「raspberrypi.localで接続してからdhcpcd.confを編集する」とか出てきますが、どうせうまく行かないのでアテにしないように。

画面右上のネットワークアイコン > Advanced Options > Edit Connections…
以下のように設定します。

Address、Netmask、Gatewayの意味は正直わかりません。ネット検索しても永久に理解できないので一旦考えることを諦めました。192.168.1.x(xは0~255)であれば高確率でセーフだと思います。
これでラズパイ側の設定は完了なので、一旦シャットダウン(か再起動)して設定を反映させます。
手順3|PC側のIP固定
PC側に戻ります。
ネットワークと共有センター > アダプターの設定の変更 > 対応するイーサネットのプロパティ
以下のように、ラズパイとは違う192.168.1.xを設定します。

なんかこれをしておかないと接続できません(検索してもあまり出てこない)。正直、なぜホスト側のIPを固定しないといけないのかは理解できていません。クライアント側だけ固定できていればいいのでは?(素人)
手順4|接続できるか確認
PCとラズパイをLANケーブルで接続します。初心者は有線LAN一択。無線LANは沼への急行列車。
PCでコマンドプロンプトを開き、ホスト名に対してpingを送ってみます。
ping raspberrypi.local
raspberrypi.local [fe80::5679:6124:2d0a:182a%6]に ping を送信しています 32 バイトのデータ:
fe80::5679:6124:2d0a:182a%6 からの応答: 時間 =1ms
fe80::5679:6124:2d0a:182a%6 からの応答: 時間 <1ms
fe80::5679:6124:2d0a:182a%6 からの応答: 時間 <1ms
fe80::5679:6124:2d0a:182a%6 からの応答: 時間 <1ms
fe80::5679:6124:2d0a:182a%6 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 0ms、最大 = 1ms、平均 = 0ms
届きましたね。IP固定しない場合はこの「raspberrypi.local」でいいのですが、今回はIPを固定したいという話。
いよいよ固定IPに対してpingします。
ping 192.168.1.10
192.168.1.10 に ping を送信しています 32 バイトのデータ:
192.168.1.10 からの応答: バイト数 =32 時間 =1ms TTL=64
192.168.1.10 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.1.10 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.1.10 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.1.10 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 0ms、最大 = 1ms、平均 = 0ms
ようやく固定IPで接続できそうです。あとはSSHするなりSCPするなりお好きにどうぞ!
ssh pi@raspberrypi.local
おわりに
難しかったですね。ネットワークの勉強をしようにも、足を踏み出せない理由があります。
現在進行系で研究室の先生たちが「急にUbuntuサーバーにSSHとRDPできなくなった」と騒いでいます。百戦錬磨のIT強者たちでさえ、「何もしてないのに繋がらなくなった(本当に何もしていない)」が起きるのがネットワークの恐ろしさ。2人がかりで一週間以上あれこれやって、情シスも巻き込んで、ようやく部分的に解決し始めています。外部からのRDP接続だけまだ回復してないようです。
勉強してもこの有り様では、なかなか足が踏み出せないですね。。