lisz-works

プログラミングと興味を貴方に

Kindle Fire HD 10にTermuxを入れてSSH操作

【スポンサーリンク】

Termux

Kindle Fire HD 10に、TermuxというLinuxコンソールアプリを入れて、SSHで操作してみました!

Termux自体は以前から使っていたのですが、やはりスマホやタブレットのキーボードでは少し使いづらい……

なのでSSH接続→PCから遠隔操作で、楽に作業をできるようになります!

どんなことができるの?

PCや別のAndroid端末のTermuxなど、SSH接続が使える端末からリモートで、Termuxを操作することができます。

構造図

Kindle Fire HD 10にTermuxを入れる

PlayストアからTermuxをインストールします。

Kindle Fire HD 10にPlayストアを入れるには、ごにょごにょしないといけません。

Playストアのインストールは、自己責任でございます。

クライアント側でSSH鍵の作成

ssh-keygenを使って、SSH鍵を作成する。

  1. 「ssh-keygen」コマンドを実行
  2. 出力先パスを聞かれるので、特に指定がなければ、そのままEnter
  3. 設定するパスワードを入力
  4. パスワードをもう1度入力

その際の表示はこんな感じ(先頭の数字は手順と対応)。

[1] $ ssh-keygen
    Generating public/private rsa key pair.
[2] Enter file in which to save the key (/data/data/com.termux/files/home/.ssh/id_rsa):
[3] Enter passphrase (empty for no passphrase):
[4] Enter same passphrase again:

こんな感じで出力されればOK。

$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/data/data/com.termux/files/home/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /data/data/com.termux/files/home/.ssh/id_rsa.
Your public key has been saved in /data/data/com.termux/files/home/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:Nu+zGyqS0rguyaeZ/HSOQ2hT4H2lu7FEwBCKjLZqRe0 u0_a24@localhost
The key's randomart image is:
+---[RSA 3072]----+
| o+              |
|=. o.  .         |
|=oo...o          |
|..oo.+           |
| .o.oE. S        |
|.+.. + . o       |
|+oo+.o+   o      |
|=.*oBo.  o..     |
| B*=.o .. ++     |
+----[SHA256]-----+

これで「~/.ssh*1」に、

  1. id_rsa
  2. id_rsa.pub

ができています。

このうち「id_rsa」を操作するPCに送って任意のパスに置きます。

ぼくはpushbulletを使って、転送しました。

scpコマンドとかでもいい気がするけど、Windows間とでできるのかはよくわからない……

SSHサーバを実行……したらエラー

SSHサーバをtermuxで実行しようとしたらエラーが出たので対処。

そのエラーというのが、いろいろやったときに出るこれ。

$ sshd
WARNING: linker: Unsupported flags DT_FLAGS_1=0x8
WARNING: linker: Unsupported flags DT_FLAGS_1=0x8

まずは問題解決に使うパッケージをインストールします。

$apt install termux-elf-cleaner

問題が発生しているファイルを検索します。

$ find $PREFIX/lib -type f -name *.so* | xargs -I{} termux-elf-cleaner {}
termux-elf-cleaner: Replacing unsupported DF_1_* flags 8 with 0 in '/data/data/com.termux/files/usr/lib/libcrypto.so.1.1'
termux-elf-cleaner: Replacing unsupported DF_1_* flags 8 with 0 in '/data/data/com.termux/files/usr/lib/libssl.so.1.1'

インストールした問題解決用パッケージ「termux-elf-cleaner」を、検索にヒットしたファイルに実行します。

$ termux-elf-cleaner /data/data/com.termux/files/usr/lib/libcrypto.so.1.1
$ termux-elf-cleaner /data/data/com.termux/files/usr/lib/libssl.so.1.1

ぼくの場合この2つでしたが、他にもファイルが表示されたら、そいつらにも実行が必要だと思われます。

改めてSSHサーバを実行

sshdやってもでなくなった!

ps ax | grep sshd

で確認。

ちゃんと立ち上がってますね!

ということで、SSHでアクセスします。

$ ssh -i <作った鍵のパス> -p 8022 <接続先IP>

キター!

あとがき

Kindle Fire HD 10に、Termuxを入れてSSH接続するお話でした!

PCで作業できる場合、タブレットとかのキーボード操作って面倒ですよね。

SSH接続しちゃえば、PCで作業しながら、タブレットもコンソール操作できちゃいます。

調べながらいじくるにも、この方が楽ですしね。

Androidなら同じことができるので、家で面倒ながらポチポチしているならお試しください!

とはいえ、Androidようにキーボードがあれば、通信速度を踏まえるとそちらの方が早いとは思いますが。

*1:/data/data/com.termux/files/home/.ssh