RaspberryPiにディスプレイ&キーボードなしでSSH接続するまで(追記:驚きのWinでもOK!!)メモ
今度はMacでやりましたが、Win10でもできちゃいます。
※以前はWindows環境ではいろいろめんどうでやりにくい手法だったのですが、いつのまにかWindowsでも簡単にできるようになっていました!( ゚Д゚)びっくり。進歩してますねえw Win環境については最後のほうに書いておきます。目次から飛ばしてもらってもOK!
この方法を使うと、ディスプレイもキーボードも付けない状態のまま、初期状態のRaspberryPiにSSHでリモート接続することができるようになります。
用意するもの
RaspberryPi(機種は問いません)
SDカード
Mac か PC
LANケーブル(最初だけ)
LANケーブルは最初の接続にのみ必要です。一度セットアップしてしまったらWiFiでイケます。
まずOSインストール
いつものようにRaspberryPi Imager でOSを入れちゃいます。
GUIは使わないので小さいやつ(FullではないLite版のRaspberry Pi OS)でOKです。
SDカードが焼けたら、いったんパソコンからSDカードを抜いて、もう一度差し込みます。
※以下、Macの画面での解説です。WindowsPCの場合は後述するWin版をご覧ください。
デスクトップ画面。bootって名前のSDカードアイコンが出てきます。
このSDカードにちょっと細工をします。
sshを有効化する
SDカード内にSSHを有効化する情報をかきこみます。
具体的には、ターミナル上から
$ touch /Volumes/boot/ssh
でOK。なのですが、ちょっと解説。
まず、touchってコマンドは、ファイルを「触って」タイムスタンプを今現在に書き換えてネ。というコマンド。もしファイルが存在しなかったら、内容が無いファイルを「今」つくってくれます。
ここでは、 /Volumes/boot/ssh というファイルを「今」のタイムスタンプで作成するということですね。タイムスタンプはこの場合あんま関係ないですが、とにかく ssh という名前のファイルを作るということです。
/Volumes/boot というのがデスクトップ画面に生えてきたSDカードのbootさんです。
ちなみに、
ちょっとしたテク
Macだとこんな基本技もあるので覚えておくとよいかも~。
ここで謎の問題発生(うちだけかも?)
今回、SDカードが直接刺さるMacを引っ張り出してきて(2013モデルだからもう昔々の子ですね)
/Volumes/boot/sshにtouchしようとやってみてたのですが、
こんなエラーが。「そのファイルシステムはリードオンリーだよ」と、つまり「書けませんよ」と言ってきました。
あんれー? SDカードの書き込み禁止がONになっちゃってるのかなー?と、取り出してみましたが
そんなこともない模様(このノッチが→方向になっていると書き込み禁止。今は逆なので書き込み禁止ではない状態)。
そもそもこのアダプターを付けてRaspberyPi Imagerでイメージを描き込んだので書き込みできないはずはないのですが…。
MicroSDカードを買うたびに増える各社のアダプターに差し替えてやってみてもダメ。おかしいなー。
そこで、もしかしたら? と
USB接続できるSDカードリーダ(付きのハブ)を持ってきて、それにカードを突っ込んでMacに刺してみました。
認識できた。アイコンが変わってる。
で、やってみたところ
無事できました。(∩´∀`)∩☆
なんだったんでしょうねー。まあよくわからないですができたからいいやw
Raspberry Pi起動
では、MacからSDカードを抜いてRaspberry Piへ差し込み、ついでにLANケーブルも差し込んでから電源を入れましょう。
※LANケーブルはもちろんMacと同じネットワークにつないでおいてください。
ディスプレイが無いので分かりにくいですが、緑色のLEDがぴかぴか点滅して、何かやっているように見えます。
数分待って、点滅がおとなしくなったら、Macから
$ ssh pi@raspberrypi.local
で接続できちゃうはずです。
初めて接続したときは、
Are you sure you want to continue connecting (yes/no/[fingerprint])?
なんてふうに聞かれます。この機械のこと良く知らないけどつないじゃっていいの? という感じの意味。これはもちろん yes ですね。
続いてRaspberryPiのユーザpiのパスワードを聞かれるので、初期パスワードの raspberry でおけ。
これで、無事つながりました(∩´∀`)∩☆
この後、WiFiの設定をしたりとかは、
↑の後半に書いてありますので、おんなじやり方でOK!
まとめ
長々かきましたが、要は
MacでRasPiにSSHするには、OSを書き込んだ直後のSDカードのルートに ssh というファイルを入れて起動、その後、ssh pi@raspberrypi.local すればつながるよ!
ということです。
めちゃくちゃらくちんですね!!
(ていうかWin環境がめんどくさい!w)
お詫びと訂正
なんと、さんざんDISってましたが、Win10でもいつの間にかぼんじゅーる入れなくてもできるようになっている模様です!
なんとまあ、良い時代になりましたねw
というわけで、Winでやる場合についても書いてみます。基本はMacと同じです。
Windows10環境編
Windowsでもできちゃうのです。長い間Winではできない(やりにくい)というのがこの世界の常識だったのですが、いつのまにやらWinちゃんもちゃっかり進歩してますねえ。
というわけで、Windowsでやる場合です。
以下、Windows 10 Pro バージョン 1903 で行いました。(バージョン1903ならば Homeエディションでも行けました!)
ファイアウォールの確認
コントロールパネルから、「システムとセキュリティー>Windows Defender ファイアウォール」と選びます。
面倒な場合は
ここにファイアウォールとか入れてもたぶん同じものが出ます。
こういうやつ。
ここで、
詳細設定をクリック。
つづいて
「受信の規則」をクリックしてみてください。
ずらーっとリストがでてきます。
ここで、スクロールさせて、名前に mDNS(UDP受信) とあるものを探します。
↑のように、mDNS(UDP受信)のプライベートが有効になっていればOK。(念のため、ローカルポートも5353であることを確認)
もし有効でない場合は、
右クリックして「規則の有効化」をONにしてください。
RasPiのインストール&設定
RasPiOSのインストールはWin/Macどちらも共通。
かるいやつ。Liteで良いです。
書き込みが終わったら、いったんSDカードをPCから抜いて、再度差し込みます。ドライブが2つ出てくるとおもいますが、片方は認識しないハズなので、認識できるドライブをエクスプローラーで開きます(bootという名前になっています)
↑ウチでは I ドライブでした。
この中のどこかを右クリックして、
新規作成ー>テキスト文書とやります。
そして作成されるテキスト文書の名前を
ssh と書き換えてください
※ .txt も消してしまって、シンプルに ssh という名前だけのファイルです。
こんなこと言われますが当然「はい」。
ここまで出来たら、PCからSDカードを抜き、RasPiに入れて起動してみましょう。(LANケーブルはさしてね)
PCから動作確認
TeraTermから raspberrypy.local へつなげてみます。
ユーザ名は pi 、パスワードは raspberry っと。
できたw
おどろき。さっくりつながっちゃいましたね!
※もちろん、DOS窓で ssh pi@raspberrypi.local してもイケました。どちらでもお好きな方でどうぞー☆
とゆーわけで、いまではMacじゃないとできなかったこともWinでできるようになっていました。Macの優位性がなくなっちゃうのはちょっと寂しいですが、Winしか持っていなくても同じことができるのはありがたやですね。なので、めでたしめでたし(∩´∀`)∩☆