らくの備忘録ブログ

アウトプットの練習中です。

Raspberry Pi 外付けデバイスなしのフルリモートでインストールする方法(1)

キーボードとディスプレイ、マウスをラズパイに接続してインストールするのは面倒。
ラズパイに接続するのはACアダプターとSDカードだけ! 全てMacから操作したい!というワガママな人達に最適な方法を備忘録として残しておく。ケーブルの類なしで使うことをヘッドレスというらしい。「ラズパイ ヘッドレスインストール」でググると色々出てくる。


  1. microSD 16GBを準備
    32GBでも良いが、大きすぎるとバックアップが大変

  2. Raspberry Pi Imagerを使ってRaspberry Pi OSをSDカードに書き込む
    からあげさんのQiitaを参考に、「SDへのイメージ書き込み」まで進める
    Raspberry Pi ImagerのセットアップからSD書き込み方法まで - Qiita

  3. donchanさんのブログを参考に、Raspberry Piにリモート接続するため、次の設定をする
    Raspberry Piのセットアップをヘッドレス(モニタなし、キーボードなし)で行う方法 - Reasonable Code

    $ ssh pi@raspberrypi.local

    と入力すると、リモートでラズパイにログインできる。

    (備考)

    SSHでログインしようとした時に、自分の環境では次の警告が表示された。

    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    
    @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
    
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    
    IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
    
    Someone could be eavesdropping on you right now (man-in-the-middle attack)!
    
    It is also possible that a host key has just been changed.
    
    The fingerprint for the RSA key sent by the remote host is
    
    XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX.
    
    Please contact your system administrator. 
    
    Add correct host key in /Users/rakmaker/.ssh/known_hosts to get rid of this message.
    
    Offending RSA key in /Users/rakmaker/.ssh/known_hosts:8
    
    RSA host key for example.com has changed and you have requested strict checking.
    
    Host key verification failed.

     
    ホスト鍵が変わった場合に誰かが攻撃を仕掛けているとの警告で、今回はOSの再インストールが原因なので、macの~/.ssh/known_hostsに保存している8行目をコメントアウトして対処した。
    「SSHホスト鍵が変わってるよ!」と怒られたときの対処 - Qiita
    日頃sshで入っていたサーバーにログインできなくなった時 - Qiita|


  4. ログインパスワードを変更し、VNCを有効にする

    sudo raspi-config から、

    3 Interface Options を選択

    f:id:rakmaker:20210612162807p:plain

    P3 VNC を選択

    f:id:rakmaker:20210612162914p:plain

    はい を選択

    f:id:rakmaker:20210612162943p:plain

    このままではmacからcommand + Kで「画面共有」を実行した時に、エラーメッセージ "Cannot currently show the desktop" が表示されるので、合わせて解像度も設定しておくと良い。

    2 Display Options > D1 Resolution > DMT Mode 85 1280x720 を選択(お好みで)  


  5. ifconfig で、ipアドレスを調べておく
     

  6. mac標準アプリの「画面共有」は接続時にパスワードが必要なため、からあげさんのQiitaのnak435さんのコメントに書かれている以下の対応が必要。
    Mac標準のリモート接続でラズパイに繋ぐ方法 - Qiita

    macのターミナルからssh経由でラズパイにログインした状態で、以下を実行

    $ sudo vi /root/.vnc/config.d/vncserver-x11

    Authentication=VncAuth を末尾に追加し保存

    続いて、以下を実行し、画面共有接続用のパスワードを入力

    $ sudo vncpasswd -service


  7. macで、command + K で「画面共有」を開き、 以下のようにvnc://raspberrypi.local/ または、vnc://192.168.xx.xx/ (5番 ifconfigで調べたIPアドレスを入力)し、接続する
    f:id:rakmaker:20210612170357p:plain


    パスワードを聞かれたら、先ほどvncpasswdで設定したmacの画面共有接続用パスワードを入力すると、次の画面が表示されリモート接続が完了する。
    f:id:rakmaker:20210612163152p:plain

    Nextを押下して画面の指示に従い、タイムゾーンの設定やアップデートを実行しておく。
    アップデートにはRaspberry Pi 4でも数十分かかる。