/

AndroidにTermuxを入れてSSHで入る

Termux8888
Termux

0.前提条件

今回のまとめはWi-Fi環境下で行います。

条件は下記のとおりです。

  • Android端末とPCが同じWi-Fi内にいる
  • PC側にターミナル的な環境がある
  • PC側でSSHクライアントが使える
  1. Androidにアプリのインストール Android端末

まず、Android端末にTermuxアプリをインストールします。"Google Play"版は古いようなので下記よりダウンロードしてください。

次にキーボードアプリをインストールします。 下記のどちらかのキーボードアプリがおすすめですが、私はCodeBoardを使っています。

AndroidでTermuxを起動したらまず下記のコマンドを打って最初のセットアップを行います。 この際、先ほどインストールしたキーボードアプリ(CodeBoardなど)を使います。 デフォルトのAndroidのキーボードが表示されると思うのでスペースを長押ししてキーボードを変更してください。

# @Android

# /data/data/com.termux/files/home(~)にstorageディレクトリを作る
$ termux-setup-storage

# パッケージのアップデート
$ pkg update
$ pkg upgrade
  1. Termux側にSSHの設定をする Termux

TermuxにOpenSSHサーバをインストールしてIPを確認します。

# @Android

# 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
  1. PC側からTermuxにログイン PC

以降はPC側からAndroidのTermuxに入るので操作はPC側から行います。

下記のようにパスワードでログインします。

# @PC

# ユーザー名: u0_axxxxx, ip: 192.168.1.100の場合
## ポートが8022なのに注意です
$ ssh -p 8022 u0_axxxxx@192.168.1.100

# パスワードを聞かれるので先ほどTermux側でpasswdで設定したパスワードを入れる

なお、パスワードを使わず公開鍵認証でSSHログインしたい場合は下記のように行ってください。 パスワードを毎回使っても大丈夫と言う方は下記は飛ばして4に行ってください。

# @PC
$ 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 PCからTermuxにSSHでログインしてから下記を叩く
$ cat ~/名前.pub >> ~/.ssh/authorized_keys
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys

この設定をしておけば次回以降PCからは$ ssh ssh2androidでログインできます。

  1. 基本的なパッケージのインストール termux
$ pkg install git vim tig curl htop