memo
RaspberryPi
raspbian

[RasPi] モニタ・キーボードなしで、デフォルトでssh無効なRaspbianのsshを有効にする

More than 1 year has passed since last update.

モニタ・キーボードなしでsshを有効にする手順

初期状態でsshが無効になってるRaspbianにて、RasPiに直接モニタやらキーボードを挿さずにsshを有効にする手順。

sshを有効にするだけなら、最初の項目だけでよいのだが、パスワード変更するまでをひとまとめとして。

  1. Windowsなどで、SDの/bootにsshというファイルを作成する(空ファイルでよい)
  2. そのSDで、RasPiを起動する
  3. sshで接続する(デフォルトホスト名: raspberrypi)
  4. piユーザでログインする(デフォルトパスワード: raspberry)
  5. piユーザのパスワードを変更する

なお、sshが有効で、piユーザのパスワードがデフォルトのままだと、起動する度に警告メッセージが表示される。

SSH is enabled and the default password for the 'pi' user has not been changed.
This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.

そもそも、なんでssh無効?

セキュリティ上の理由。デフォルトのpiユーザのパスワードが既知なため誰でもログインできちゃうから。

ネタ元は以下。

A security update for Raspbian PIXEL (https://www.raspberrypi.org/blog/a-security-update-for-raspbian-pixel/)

モニタやキーボードを使わずに(これを headless って呼ぶんですね。ネタ元に書いてありました)、RasPiをリモートで管理、運用する人は多いと思う。特に lite版を選ぶ人は。
デフォルトでsshが無効だと、モニタやキーボードがないと、ホントに何もできない。

これは炎上必死と考えたからか、SDにファイルを作成することでsshを有効にする方法を提供している。

いつから?

いつからかは不明。ネタ元の記事は、2016年11月30日 午後1:05にポストされたもの。

また、ネタ元のHTMLソースには、次のような記述がある。

<meta property="article:published_time" content="2016-11-30T13:05:14+01:00">
<meta property="article:modified_time" content="2017-01-30T11:28:13+01:00">
<meta property="og:updated_time" content="2017-01-30T11:28:13+01:00">

手元にあったイメージでは、以下を試して、すべてデフォルト無効で、/boot/sshファイルを作ったら有効になった。

  • 2017-04-10-raspbian-jessie と lite
  • 2017-06-21-raspbian-jessie と lite
  • 2017-07-05-raspbian-jessie と lite

ネタ元のほんの一部を意訳

※ 間違えてたらごめんなさい。英語力(日本語力も)ないので。。。(^^;

First, from now on SSH will be disabled by default on our images.

今後、デフォルトでSSHを無効にする。

So we’ve provided a simple mechanism for enabling SSH before an image is booted.

だから、起動前に簡単にSSHを有効化するメカニズムを提供した。

If you want to enable SSH, all you need to do is to put a file called ssh in the /boot/ directory.

SSHを有効にしたいなら、/bootディレクトリに sshという名のファイルを置いておくだけでよい。

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.

起動時に、Pi は /boot/sshファイルを探し、見つけたら、SSHを有効にし、/boot/sshファイルは削除する。

※ 「sshファイルを削除する」という記述から、1回限り有効にするのかと思ったら、そうではなく、これ以降ずっと有効になる。セキュリティを考えたら、明示的に自動起動ONにするまで、1回限り有効でいいと思うのだけど。

If you’re enabling SSH, you should really change the password for the ‘pi’ user to prevent a hacker using the defaults.

SSHを有効にしたら、デフォルトパスワードでの攻撃を防ぐために、piユーザのパスワードを絶対に変更すべき。