クロームブックで公開鍵認識を行う場合、開発者モードでなければ公開鍵と秘密鍵を作成することが出来ません。
そこで、リモートアクセス先のサーバで鍵を作成して、クロームブックにダウンロードする形式で公開鍵認証を行うようにしてみます。
今回の内容はクロームブックでラズベリーパイとファイルの共有を行うでクロームブックとラズベリーパイ間でSSHを介してリモートアクセスができるようになっていることが前提で話を進めます。
環境
マシン : Chromebook(何でも良いです)
マシン : Raspberry Pi 5 8G
OS : Raspberry Pi OS(64-bit)
今回の内容はラズベリーパイに割り当てられたローカルIPアドレスを192.168.1.55にして話を進めます。
ラズペリーパイの方のアカウントのIDは pi でパスワードは raspberry になります。
最初にクロームブックのSecure Shellかターミナルでラズベリーパイにリモートアクセスします。
ラズベリーパイにアクセスしましたら、下記のコマンドで公開鍵と秘密鍵を作成します。
$ ssh-keygen -f pikey
※鍵名を pikey として話を進めますが、鍵名は任意で決めて良いです。
Generating public/private rsa key pair. Enter passphrase (empty for no passphrase):
のような内容が出力されましたら、パスフレーズを決めます。
パスフレーズは空文字でも良く、空文字の場合は何も入力せずにエンターキーを押します。
Enter same passphrase again:
が出力されましたら、先程と同じパスフレーズを入力します。
Your identification has been saved in pikey Your public key has been saved in pikey.pub The key fingerprint is: SHA256:************************************ pi@raspberrypi The key's randomart image is: +---[RSA 3072]----+ | ... o | | ..O = | | o X.O o | | o .o oo* + | | . =. So E | | . +. .. o | | =.= . . . | | o ooB.+ o | | .++oB++. | +----[SHA256]-----+
のような内容が出力されたら鍵は完成です。
$ ls -l total 8 -rw------- 1 pi pi 2602 *** * **:** pikey -rw-r--r-- 1 pi pi 568 *** * **:** pikey.pub
で pikey(秘密鍵) と pikey.pub(公開鍵) が生成されていることを確認しましょう。
続いて、pikeyを使用できるようにします。
$ cat pikey.pub >> ~/.ssh/authorized_keys $ sudo chmod 600 ~/.ssh/authorized_keys
でpikey.pubをサーバに登録しておきます。
クロームブック側でラズベリーパイから pikey(秘密鍵) をダウンロードします。
ダウンロードの仕方はファイルアプリにマウント、SFTP経由かアンドロイドアプリがあります。
ファイルアプリにマウントに関しては、クロームブックでFTP操作の代替のファイルアプリにマウントを利用するを参考にしてください。
SFTP経由に関しては、クロームブックでSFTPでファイルの転送を行うを参考にしてください。
これからアンドロイドアプリの方法を記載します。
今回はAndFTPを利用することにします。
FTP, FTPS, SCP and SFTP Android client - AndFTP
AndFTPをインストールして、起動しましたら、
画面右上にあります⊕をクリックし、
ラズベリーパイの方の情報を入力します。
今回であれば、ホストアドレスにローカルIPアドレス、ユーザ名とパスワードを入力して保存します。
設定が終了しましたら、入力したローカルIPアドレスが表記されたフォルダが追加されますので、こちらをクリックして、ラズベリーパイのサーバにリモートアクセスをします。
pikey の横のチェックボックスをクリックした後、画面右上のダウンロードボタンを押します。
ローカルディレクトリの設定を変更していなければ、クロームブックの
Playファイル > Android > data > lysesoft.andftp > files
以下に pikey がダウンロードされています。
※Playファイルフォルダを開いた時にAndroidフォルダがない場合は、
画面右上の︙をクリックし、
すべてのPlayフォルダを表示するを有効にします。
今後の操作も考慮して、非表示のファイルを表示も有効にしておきます。
pikey が確認できましたら、
マイファイル以下に.sshフォルダを作成して、.sshフォルダにpikeyを移動します。
最後にSecure Shell等を開き、
pikeyをインポートして、指定すれば終了です。
※ファイルのインポート時に先ほどのAndroidフォルダの表示で行いました非表示のファイルを表示のチェックを改めて行う必要があります。
pikeyの指定を保存しましたら、SSHで接続してパスワードの入力無しでリモートアクセスできることを確認しましょう。