\ 年に1度のブラックフライデーセール! /

RaspbianをインストールするときSSHを有効化する方法

Raspberry Pi はデフォルト(標準)でSSH機能は無効になっています。セキュリティ対策のためです。SSHを使用する場合は、raspi-configで有効化する必要があります。

一度インストールが終わってからSSHを有効化するのも良いですが、microSDカードにRaspberry Pi OSを書き込んだ時点でSSHを有効化しながら起動することが可能です。

その手順は簡単なものです。

この記事の主な流れ

空のSSHとは?

RaspbianをインストールするためmicroSDカードへ書き込んだ後、空(から)のSSHファイルを用意することにより有効化になります。

SSHファイルが初回起動時にboot直下に存在した場合、SSHを有効にして、その作成した空のSHHファイルを削除するという仕組みです。

So we’ve provided a simple mechanism for enabling SSH before an image is booted.The boot partition on a Pi should be accessible from any machine with an SD card reader, on Windows, Mac, or Linux. If you want to enable SSH, all you need to do is to put a file called ssh in the /boot/ directory. The contents of the file don’t matter: it can contain any text you like, or even nothing at all. When the Pi boots, it looks for this file; if it finds it, it enables SSH and then deletes the file. SSH can still be turned on or off from the Raspberry Pi Configuration application or raspi-config; this is simply an additional way to turn it on if you can’t easily run either of those applications.

A security update for Raspbian PIXEL – Raspberry Pi

空(から)というのは、空っぽという意味で、ファイル自体には何もデータが存在しないことです。

Windowsだけを使っていると、あまり馴染みはありません。
フォルダで見ると、SSHという名前の付いたアイコンファイルがあるだけに見えます。

boot場所

これはスイッチになる切っ掛けだと思ってください。

OSの起動で、SSHという名前だけのファイルがあった場合、SSHを有効化して立ち上げてくれるということです。

主にヘッドレスインストール(マウスもキーボードも接続せずにインストールする方法)の際に用います。これでSSHを有効化するのに、SSHで接続しなくてはならないという矛盾が無くなります。

SSHが有効になっていれば、モニターを繋がなくてもターミナルを使って他のPCやMacから操作することが可能になります。

最初からSSHで接続できれば問題ないのですけど、冒頭のようにセキュリティのため無効化されています。

SSH有効化のために2つのファイルを用意して、より簡単にインストール&セットアップしましょう!

SSHファイルの作成方法

用意するファイルは「ssh」というファイルです。テキストエディッタで作成しても良いのですが、他のマシンのターミナルから簡単に作成できます。

/bootディレクトリに空の”ssh”というファイルを作成すればOKとのこと。(拡張子なしでファイル名がssh)

方法1テキストエディタを使う

Macの場合、テキストエディットで新規作成後に何も記入せず、ssh.txtで保存後、ファイルの名前変更で.txtを削除します。

Windowsの場合は、ファイルを操作するエクスプローラーで、新規テキストを拡張子なしのsshというファイル名で作成すればOKです。

方法2touchコマンドを利用

touch /Volumes/boot/ssh

これでSSHファイルが作成できました。

ネットワーク接続も必要

SSHを有効にしても、Wi-Fiなどネットワークに接続できなければ、SSH接続もできません。正に手も足も出ない状態になってしまいます。

といっても、OSが起動する前に、起動してもモニターに接続していない状態で、どうやってネットワーク接続の設定を完了させるか?

これもSSHファイルと同様に仕組みが用意されています。Wi-Fiなどのネットワーク設定を記した「wpa_supplicant.conf」を作成し、同じようにBoot直下へ配置することでネットワークに接続された状態で起動します。

wpa_supplicant.confファイルは中身はテキストです。書式に沿って用意しましょう。

空のSSHファイル、Wi-Fiの設定ファイル(wpa_supplicant.conf)をmicroSDカードの/bootへコピーすることで便利に使えます。

この2つのファイルは、一度作成しておけば、何度でも使い回せます。(同じネットワーク環境なら)

モニターに繋がない、ヘッドレスインストールをおこなう時に試してください。

シェアする
  • URLをコピーしました!

Raspberry Pi 4、400、Zero2W

販売価格は、必ず販売サイトで確認してください。

\年に1度のブラックフライデーセール!/
Amazonで詳しくみる
\年に1度のブラックフライデーセール!/
Amazonで詳しくみる
RaspberryPi
¥15,987 (2022/11/29 14:24時点 | Amazon調べ)
\年に1度のブラックフライデーセール!/
Amazonで詳しくみる

この記事のコメント(承認後に公開)

コメント一覧 (3件)

  • コンニチハ

    ・Pi OS (32-bit)bullseye リリース:2022-09-22
    ・ラズパイzeroW
    ・ヘッドレス接続(SSH接続)
    ・Tera Term使用

    このbullseyeでsdカードを作り、ヘッドレス接続(SSH接続)を
    試みましたが、接続出来ず。

    原因は、こちらの記事のように
    sdカードの/bootに[ ssh ]が無い為と判明しましたが・・・

    [ ssh ]はSSH接続確立後、削除されるらしく、
    接続直後に/bootを覗いても、置いた[ ssh ]が、もう在りません。

    現状では、ラズパイzeroWをPi OS (32-bit)bullseye
    リリース:2022-09-22 で使う場合、
    毎回電源投入前、必ずsdカードに/boot/sshしなくてはなりません。

    面白い事に、
    OSリストにある、
    同じリリース日のPi OS(Legacy)Busterでは、
    この煩わしい作業は、不要で
    OSを焼いたままのsdカードで、問題なく
    SSH接続出来ています。
    焼き上がり直後の/bootに[ssh]は無いです。
    でも、SSH接続出来ます!
    今まで、この状態で問題なく数年間使って来ていたのです。

    bullseye焼したsdカードで起動(=正確には
    SSH接続出来ず。ヘッドレス運用ですから
    接続出来なければ、起動出来ないと同義です)
    出来ずで、半日原因を探して遊び、
    結果が判明してから、こちらのWeb記事に
    出会いました!:)

    Pi OS(Legacy)Busterに挿し変えたので、
    現状は一応、問題解決済みですが・・・
    Bullseyeで使う場合
    毎回電源投入前、必ずsdカードに/boot/sshしなく
    済む 方法は あるのでしょうか?

    • SSH接続ができないとのこと。
      Zero Wに書き込まれたのは、Raspberry Pi Imagerでしょうか?
      イメージファイルをダウンロードしてEtcherですか?

      Raspberry Pi Imagerなら、オプション設定でSSHを有効にできます。
      また、仰るようにSSHファイルは有効に出来たら、と言いますか起動時に判別した後に削除されます。

      Busterで出来ているのにBullseyeで出来ないというのは・・・分かりません。Raspberry Pi Imagerがバグだらけのようなので、書き込みソフトでは起こり得るかも知れません。
      (だいぶマシになりましたが、色々と突っ込み処満載のImagerソフトだと思っています)

      単にSSHファイルを置くだけでSSHは有効になるハズですけどね。
      つい先日もZero 2Wでlite版を使いました。
      その時はRaspberry Pi Imagerで焼いて、オプションでSSHも有効設定したのでスンナリ繋がりました。

      ただ、9/22版からNetworkManagerが試験的に導入できるようになってから、なんとなくネットワーク周りがおかしいことがありました。
      リリースノートでも特に変更点は無かったと思いますので、謎ですね。

      • >Zero Wに書き込まれたのは、Raspberry Pi Imagerでしょうか?
        ハイ。
        Raspberry Pi Imager v.1.7.3 です。
        Etcherも使った事が有りますが、ここ暫くはRaspberry Pi Imagerを使って
        います。勿論、書き込み時に同時にWifi項目も設定しています
        (今は、歯車マークから。以前は OS選択時の[shift]+[ctrl]+Xだったかな?)

        そうですか、このアプリは信頼性が無い印象なんですね。

        /boo/ssh は、かなり以前のWeb記事の記憶を思い出し、
        試したら,ビンゴでした。

        安価なsdカードを使っていたので、トラブルの始めではカードを疑い
        sdカード3枚交換しながら焼いては、/boot/sshして繰り返しました。

        Bullseyeでは(2022-9-22版では)
        /bootに[ ssh ]は必須と結論しました。

        ラズパイzeroWは、裸は危険なのでケースにいれていいます
        Bullseyeで使う度にケースの脱着は面倒でOSをBuster戻ました。

        手元にラズパイ4B-2GBが在るんですが
        こちらは、Bullseye(リリース日時不明)を焼いただけ
        (何も手を加えない)で、全く問題無く使っています。
        これまでにこういった事は無くSSH接続できているので、
        このラズパイzeroWでの今回は、
        原因に気付くのに手間取り、半日試行錯誤を楽しみました。

        BullseyeとラズパイゼロWとの相性か
        Bullseyeでは(2022-9-22版)のバグと思います。

        ありがとうございます

コメントする

コメントは日本語で入力してください。名前は表示されます。メールアドレスは表示されません。

CAPTCHA

この記事の主な流れ