Ubuntu から Android に SSH 接続

概要

Androidにターミナル環境を実装できるアプリTermuxを使い、OpenSSHで接続する方法を説明します。

手順

::: note warn Andoid === Local :::

TermuxのAPKをGithubからダウンロード もしくは F-Droidからダウンロード    オープンソースのAndroid用レポジトリ ターミナル用にキーボードアプリダウンロード もしくは Samsungならキーボードのショートカットを表示するとビルトイン使用可    Hacker’s Keyboardなどがよく使われる フォルダ設定、パッケージのアップデート

$ termux-setup-storage
$ pkg update
$ pkg upgrade

ユーザー設定します

& pkg install openssh
$ sshd
$ ip -4 a
$ id
$ passwd

::: note warn Ubuntu === Local :::

# 上記のコマンドの結果からuid=xxxxx(u0_axxx) と inet 192.168.1.x/24を確認
$ ssh -p 8022 u0_axxx@192.168.1.1 
$ cd ~/.ssh
$ ssh-keygen -t rsa -b 2048 -f FILE_NAME

秘密鍵と公開鍵ができたら以下で鍵をスマホにシェア scp ~/.ssh/名前.pub u0_axxx@192.168.1.1:~/

# .ssh/configに下記を記述
Host ssh2android
    HostName 192.168.1.1
    User u0_axxx
    Port 8022
    IdentityFile ~/.ssh/名前
    ServerAliveInterval 60


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

スマホで設定したパスワードを変更せず毎回使っても問題無い場合は、ssh -p 8022 u0_axxx@192.168.1.1でも接続できます。     無事接続完了したら、HomeでUbuntuをインストールしてみましょう。

::: note warn Android === Ubuntu :::

pkg install wget openssl-tool proot -y
$ hash -r
$ wget https://raw.githubusercontent.com/EXALAB/AnLinux-Resources/master/Scripts/Installer/Ubuntu/ubuntu.sh
$ bash ubuntu.sh
$ ./start-ubuntu.sh

Termux起動時にLinuxを起動させるには、~/.bashrcに下記を記入

sshd
./start-ubuntu.sh

以上。