0
0

More than 1 year has passed since last update.

UserLAndのsshをパスワード無しで使えるようにする

Last updated at Posted at 2021-07-04

お知らせ

UserLAnd3.0からandroid端末からsshログインするのにパスワードが不要になりました。

概要

  • UserLAndでsshを使うと必ずパスワードを要求される
  • 同じ端末内でパスワードが必要なのは面倒すぎるので改善方法を考えてみた

パッチ

  • ソースコードの修正が必要そうだったのでパッチを作成

バイナリ

前回の投稿でかいたctrl-space-workaround

も含めたバイナリを作成、以下からダウンロード可能

使い方

  • .sshの作成(無ければ)
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
  • 鍵の作成とauthorized_keysへの登録
$ cd /data/data/tech.ula/files/home/
$ mkdir .ssh
$ chmod 700 .ssh
$ cd .ssh
$ dropbearkey -t rsa -f id_dropbear | grep "^ssh-rsa " > id_dropbear.pub
$ cat id_dropbear.pub >> ~/.ssh/authorized_keys
  • これで次回、起動時からノーパスワードで入れる

パッチに至るまでの話

  • UserLAndではsshサーバー・クライアントの実装としてdropbearを採用している
  • dropbear: https://matt.ucc.asn.au/dropbear/dropbear.html
  • バージョンは v2017.75
  • ソースコードを読む限りは、drobbearのクライアント(dbclient)は getpwuidでホームディレクトリを特定して~/.ssh/id_dropbearを読んでいるが、実際には使われない
  • 可能性としては、いくつか考えられるが理由はわからなかった
    • getpwuidが機能していない
    • 読み取ったホームディレクトリが/data/data/tech.ula/files/home/以外になっている
    • .sshやid_dropbearのオーナーが適切でない
    • UserLAndのdropbearに修正が加えられている
  • パッチは単純に dbclient -i 秘密鍵ファイル としているだけ。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0