rknc blog

写真付きで日記や趣味を書くならgooブログ

Android(ホスト)とsshでつなぐ

2017-03-21 | acer A200
acer A200にカスタムROMを入れるのにパソコンとつないだりいろいろしてたら、microUSBが壊れたのでsshでつなぐことにした。
A200にキーボードをつないでターミナルエミュレータでやってもいいんだけれども、ファイルのやり取りもできるので試しにやってみた。
ホストに入れるのは、playストアで手に入るSimpleSSHDと、クライアントにはArchlinuxを使った。
SimpleSSHDは、3つ4つ試した中でいちばん使いやすく新しい感じがした。
ユーザーもパスワードも設定しないで、鍵の認証だけでつながる。
まずArchlinuxにopensshをインストールして、普通につないでみた。
ユーザーはなしで、SimpleSSHDのデフォルトのポートが2222だったので、

ssh -p 2222 IPアドレス

IPアドレスはアプリで確認できて、固定にするにはA200のwifiの設定で、dhcpをやめて静的でIPアドレスを設定する。
まだ鍵の設定をしていないので、パスワードを求められる。
パスワードはアプリのログに表示されるので、それを入力する。
androidのホームディレクトリ/sdcard にsshというディレクトリができて、そこにログインできた。
次に、公開キーと秘密キーを作る。

ssh-keygen -t rsa -b 4096

とりあえずRSAで作った。
Archlinuxのユーザーのホームディレクトリに.sshという隠しディレクトリがあり、その中にid_rsaとid_rsa.pubという2つの鍵ができる。
id_rsa.pubというのが、公開キー。
これをauthorized_keysにファイル名を変えて、android側のホームディレクトリ(/sdcard/ssh)に置く。

mv id_rsa.pub authorized_keys

USBメモリでもいいし、sftpとかでもいい。

sftp -o Port=2222 IPアドレス

sftp > put authorized_keys

sftp > exit

SimpleSSHDは、sftp scp rsyncが使えるって書いてあった。
もう一度つなぎ直す。

ssh -p 2222 IPアドレス

途中でパスワードを求められるけど、これは鍵を作った時のパスワードで、秘密キーを使うためのものでandroidとは関係ないArchlinuxの中のこと。

次にファイルのやり取りをするために、sshfsというのを使う。
これは意外と便利で、ホストのディレクトリをそのままマウントできる。
その前に、SimpleSSHDの設定で、Buffer hack for rsync+SuperSUにチェックをいれる。

pacman -S sshfs

sshfs -p 2222 IPアドレス:androidのディレクトリ archlinuxのマウントポイント

androidのホームディレクトリをArchlinuxのホームディレクトリにマウントする場合。
IPアドレスは、192.168.0.100
Archlinuxのユーザーホームディレクトリに、

mkdir mnt

でマウントポイントを作る。

sshfs -p 2222 192.168.0.100:/sdcard ~/mnt

~/はユーザーのホームディレクトリ
cdして中を確認できたら、成功。
アンマウントは、sudoで。

sudo umount ~/mnt

sftpとかscpとかは、GUIで使うといいのかな。
ECDSAとかも使えるみたいだけど、よくわからない。

microUSBが壊れたので、recovery.imgが書き込めない。
ROMマネジャーとかのアプリで出来るのかと思ったけど、A200用はないみたいだ。

『モバイル機器』 ジャンルのランキング
コメント   この記事についてブログを書く
この記事をはてなブックマークに追加
« A200 root化 nanoとbash | トップ | googleplay 開発者サービスが... »

コメントを投稿


コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。

あわせて読む

トラックバック

この記事のトラックバック  Ping-URL