AndroidにTermuxを入れてSSHで入る
0.前提条件
AndroidにTermuxを入れてSSHで入る際の環境および条件は下記のとおりです。
- Android端末とPCが同じWi-Fi内にいる
- PC側にターミナル的な環境がある
- PC側でSSHクライアントが使える
- Androidにアプリのインストール - Android端末
まず、Android端末にTermuxアプリをインストールします。"Google Play"版は古いようなので下記よりダウンロードしてください。
次にGoogle Playからキーボードアプリをインストールします。 下記のどちらかのキーボードアプリがおすすめですが、私はCodeBoardを使っています。
AndroidでTermuxを起動したらまず下記のコマンドを打って最初のセットアップを行います。 この際、先ほどインストールしたキーボードアプリ(CodeBoardなど)を使います。 デフォルトのAndroidのキーボードが表示されると思うのでスペースを長押ししてキーボードを変更してください。
# AndroidでのTermux
# /data/data/com.termux/files/home(~)にstorageディレクトリを作る
$ termux-setup-storage
# パッケージのアップデート
$ pkg update
$ pkg upgrade
- Termux側にSSHの設定をする Termux in - Android端末
TermuxにOpenSSHサーバをインストールしてIPを確認します。
# AndroidでのTermux
# OpenSSHサーバのインストール
$ pkg install openssh
# OpenSSHサーバーの起動
$ sshd
# IP確認
$ pkg install iproute2
$ ip -4 a
## inet 192.168.1.x/24 という表記の192.168.1.xの部分がIPになります
# ユーザー名確認
$ id
## uid=xxxxx(u0_axxxxx) という表記のu0_axxxxxがユーザー名になります
# パスワード設定 これでパスワードを設定します、適当なパスワードを設定してください
$ passwd
- PC側からTermuxにログイン - PC
以降はPC側からAndroidのTermuxに入るので操作はPC側から行います。
下記のようにパスワードでログインします。
# PCのターミナル(wslなど)
# ユーザー名: u0_axxxxx, ip: 192.168.1.100の場合
## ポートが8022なのに注意です
$ ssh -p 8022 u0_axxxxx@192.168.1.100
# パスワードを聞かれるので先ほどTermux側でpasswdで設定したパスワードを入れる
なお、パスワードを使わず公開鍵認証でSSHログインしたい場合は下記のように行ってください。 パスワードを毎回入力するのが平気と言う方は下記は飛ばして4に行ってください。
# PCのターミナル(wslなど)
$ cd ~/.ssh
$ ssh-keygen -t rsa -b 2048 -f <名前>
## 公開鍵:名前.pub
## 秘密鍵:名前
## が生成される
# ssh-copy-idで公開鍵をコピー
$ ssh-copy-id -i ~/.ssh/<名前>.pub -p 8022 u0_axxxxx@192.168.1.100
# .ssh/configに下記を記述
Host ssh2android
HostName 192.168.1.100
User u0_axxxxx
Port 8022
IdentityFile ~/.ssh/名前
ServerAliveInterval 60
# PCからTermuxにSSHでログインしてから下記を叩く
$ cat ~/名前.pub >> ~/.ssh/authorized_keys
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys
この設定をしておけば次回以降PCからは$ ssh ssh2android
でログインできます。
これでSSHでTermuxにログインできるようになりました。
- 基本的なパッケージのインストール - Termux
一応PCのターミナルからSSHでTermuxにログインしたら下記でVimなどをインストールしておきます。
# PCのターミナルからSSHでTermuxにログイン後
$ pkg install git vim tig curl htop
これでSSHでTermuxに入って色々できます。
更新ログ
- 2024/5/14 説明を更新