Raspberry Piのセットアップ(公開鍵認証 iPhone編)

Raspberry PiにUSBカメラを接続して、motionで 動体検知対応のカメラとして機能させるまでの備忘録
今回は公開鍵認証 iPhone編

2022年1月4日更新

Termiusがサブスクリプションになって、別のアプリに移行していたのですが、だいぶ遅くなりましたが内容を更新しました。私の場合は、iPhoneからRaspberry Piを終了できれば良いので、Raspberry Piに特化したPiHelperというアプリにしてみました。

PiHelper – ラズパイアシスタント App
カテゴリ: Utilities
価格: 無料

まずは、Macで公開鍵と秘密鍵を作成します。既に公開鍵認証編で一度作成しているので、今回は違う名前で作成します。

SSH接続するための秘密鍵と公開鍵をMacで作る | www.ni4.jp

ターミナルを起動したら(入力するのは「」の中)

cd /Users/ユーザ名/.ssh」と入力してリターンキー
(ユーザ名は、ターミナルで「whoami」と入力してリターンキーで表示されます。
また、Finderでユーザフォルダ内の赤線部分に表示されているものになります)

今回は、id_rsa_iphoneという名前で作成します。

ssh-keygen -t rsa -f id_rsa_iphone」と入力してリターンキー

Enter passphrase:と聞かれるので、そのまま何も入力しないでリターンキー

Enter same passphrase again: と聞かれるので、そのままリターンキー

公開鍵と秘密鍵が生成されました。

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/hogehoge/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/hogehoge/.ssh/id_rsa.
Your public key has been saved in /Users/hogehoge/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx
The key's randomart image is:
+---[RSA 2048]----+
|  .+oo=o..       |
|..= .+=+o        |
|=+ o =oo=   .    |
|+oo ...o = o     |
| ..o  . M +     Y|
|  o  .       . ..|
|   .  +       *..|
|    o. o     ..+o|
|    .+. ...... .+|
+----[SHA256]-----+

ファイルを確認してみます。

ls」と入力してリターンキー

公開鍵(id_rsa_iphone.pub)と秘密鍵(id_rsa_iphone)が生成されていればOKです。

ただし、このままだと作成された秘密鍵(id_rsa_iphone)のヘッダー部分が

—–BEGIN OPENSSH PRIVATE KEY—–

となっていて、利用できないので、

—–BEGIN RSA PRIVATE KEY—–

に変換します。

SSH KeyをOpenSSH形式化からPEM形式に変換 – ひびのメモ

ssh-keygen -p -m PEM -f id_rsa_iphone」と入力したらリターンキー

Enter passphraseと聞かれるので、そのまま何も入力しないでリターンキー

Enter same passphrase again: と聞かれるので、そのままリターンキー

変換されました。

.ssh % ssh-keygen -p -m PEM -f id_rsa_iphone
Key has comment '*********************************'
Enter new passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved with the new passphrase.

生成した公開鍵をRaspberry Pi側に登録するので、Raspberry Piを起動したら、別のターミナルウインドウを開いてログインをしておいてください。

ログインしたら、念のため「cd」と入力したらリターンキー

pi@raspberrypi:~ $ cd

sudo nano .ssh/authorized_keys」と入力したらリターンキー

pi@raspberrypi:~ $ sudo nano .ssh/authorized_keys

id_rsa_iphone.pubファイルの内容をコピーします。

MacのFinderでホーム(ユーザ名)を開いたら、「Shift + Command + .」押すと不可視ファイルが表示されます。
(不可視ファイルを非表示にするには再度「Shift + Command + .」押してください)

.sshフォルダ内のid_rsa_iphone.pubファイルをお使いのエディタで開いてください。
開いたら、全てを選択してコピーしてください。

ターミナルに戻って、先ほど「sudo nano .ssh/authorized_keys」で開いた、authorized_keysファイルに新しい行として追加(ペースト)してください。

問題なければ、「controlキー + o
File Name to Writeと下に表示されたらリターンキー
controlキー + x」で編集を終了します。

秘密鍵をPiHelperにコピーします。
PiHelperを起動したら、新規コネクションをタップして

コネクション名、ホスト(IPアドレス)、ポート番号、
Preivate Keyにして、ユーザー名を入力
秘密鍵に表示されている部分を一旦全て削除したら、

先ほど、Finderで表示した.sshフォルダ内の「id_rsa_iphone」ファイルをお使いのエディタで開いて

—–BEGIN RSA PRIVATE KEY—–

から

—–END RSA PRIVATE KEY—–

の部分全てを選択してコピーしてください。

ユニバーサルクリップボードが有効になっていれば、Macでコピーしたものが、iPhone側でペーストできるようになっているので ユニバーサルクリップボードを使って Apple デバイス間でコピーアンドペーストする – Apple サポート (日本) 秘密鍵の欄にペーストしてください。

Private Keyのあたりをタップすれば、下にスクロールできるので、「保存」をタップしてください。

以下のように表示されていたら、「再試行にはタップしてください。」の部分をタップ

シャットダウンのコマンドを登録します。

CPU、 メモリ、容量が表示されている部分をタップ
次の画面で右上の三本線をタップ、コマンドの編集をタップ

「新規コマンド」をタップ
コマンド名をshutdown、カスタムコマンドを「sudo shutdown -h now」と入力して「保存」をタップ

右上三本線をタップすると、作成したカスタムコマンドが選択できるようになっているので、選択すると「sudo shutdown -h now」が実行され、Raspberry Piを終了することができます。


2016年10月14日

Termiusがサブスクリプションになってしまったので現在は使っていませんが、一応残しておきます。

(ターミナルのログは所々Jessieの時のものを使っています…)

環境は
macOS High Sierra 10.13.6
すべてマックのターミナル.appを使っての操作です。

Raspberry Piをシャットダウンするときに、iPhoneからもできると便利なので

まず、iPhoneのsshクライアントアプリ探しから、
条件は公開鍵認証に対応していて、
できれば無料 :wink_wp:

ググったところTermiusというアプリが良さそうな感じです。

Termius – SSH client App
カテゴリ: Utilities
価格: 無料

早速ダウンロードして設定を

なお、すでにMacで公開鍵認証を設定しているので、iPhoneのTermiusで生成した公開鍵をメールで一旦Macに送り、MacでRaspberry Piにアクセスしてファイルを編集するようにします。

起動したら

暗号鍵と公開鍵の生成
「Keychain」をタップ

右上の「+」をタップ

「Generate Key」をタップ

設定画面は
Key Nameに分かりやすい名前(ここではRaspberry Pi)を記入
Passphraseは空
その他はデフォルトのままで、右上の「Save」をタップ

一覧に戻ると、Raspberry Piが追加されているので、
この公開鍵をRaspberry Piに登録します。

一覧のRaspberry Piを選択

右上のアイコンをタップ

Send by Emailをタップ

作成した公開鍵を、Mac見ることのできる自分宛てのメールアドレスに送ります。

ターミナルを起動して、Raspberry Piにssh接続をしておきます。

接続したら(入力するのは「」の中)
念のため、「cd」と入力したらリターンキー

sudo nano .ssh/authorized_keys」と入力したらリターンキー

すでに書かれているssh-rsa で始まる行の次の行に
届いたメールの、ssh-rsa から 最後まで全てをコピーしてペースト

問題なければ、「controlキー + o
File Name to Writeと下に表示されたらリターンキー
controlキー + x」で編集を終了します。

exit」と入力したらリターンキー
抜けます。

iPhoneのTermiusに戻ったら、一覧から「Hosts」を選択

右上の「+」アイコンをタップ、次に「New Host」をタップ

Alias:分かりやすい名前を。ここではRaspberry Piに
Hostname:例の場合は192.168.0.123
Use SSHを利用するに
Port:例の場合は55555
Username:pi
Password:は空
Keyをタップして先ほど作成した暗号鍵のリストが表示されるので、該当するもの(例ではRaspberry Pi)を選択

問題なければ、右上のSaveをタップ

Hostsの一覧から、Raspberry Piを選べば、公開鍵認証を使ったssh接続ができるようになります。

コメント

タイトルとURLをコピーしました