Androidで使えるLinuxエミュレータ

#■初めに
AndroidスマートフォンからサーバへSSHできないかを調べていたところ、termuxと言うLinuxエミュレータが使えそうだったので、少し記事にしてみます。

#■termuxってなに？
- Linuxエミュレータ
 - 基本的なLinuxコマンドが使える。 
- パッケージ管理
 - aptとpkgが利用できる。

#■とりあえず使ってみた
- playストアからインストール

![Screenshot_20180330-203926.png](https://qiita-image-store.s3.amazonaws.com/0/160993/6196ad77-2fdb-ddcd-6710-06907f9012a7.png)


- ターミナル画面<br>

```
Welcome to Termux!

Wiki:            https://wiki.termux.com
Community forum: https://termux.com/community
IRC channel:     #termux on freenode
Gitter chat:     https://gitter.im/termux/termux
Mailing list:    termux+subscribe@groups.io

Search packages:   pkg search <query>
Install a package: pkg install <package>
Upgrade packages:  pkg upgrade
Learn more:        pkg help
$
$
$
```

- アーキテクチャ<br>
自端末の情報

```
$ uname -a
Linux localhost 4.4.21-perf+ #1 SMP PREEMPT Wed Aug 23 12:19:27 2017 aarch64 Android
```
- opensshインストール<br>
初期状態ではopensshは入ってないみたいなのでpkgでインスト―ㇽする。

```
pkg install openssh
Get:1 https://termux.net stable InRelease [1687 B]
Get:2 https://termux.net stable/main aarch64 Packages [61.4 kB]
Get:3 https://termux.net stable/main all Packages [4676 B]
Fetched 67.7 kB in 2s (25.2 kB/s)
Reading package lists... Done
Building dependency tree... Done
All packages are up to date.
Reading package lists... Done
Building dependency tree... Done
The following additional packages will be installed:
  ldns libedit libutil
```

#■VPNでプライベートLANに繋いでみる。

- vpn接続<br>
![Screenshot_20180330-205822.png](https://qiita-image-store.s3.amazonaws.com/0/160993/ec334e42-6cad-0702-7a0f-4563631be759.png)
<br>
<br>
- termuxからssh接続
 
```
ssh root@192.168.30.15
The authenticity of host '192.168.30.15 (192.168.30.15)' can't be established.
ECDSA key fingerprint is SHA256:MCgUpPg4n1/OaZpY0mfwSu7nPnbjbciUf84PL69s7I8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.30.15' (ECDSA) to the list of known hosts.
root@192.168.30.15's password:
Last login: Fri Mar 30 21:07:17 2018 from 192.168.10.232
[root@syslog ~]#
```

- 操作してみる

```
[root@syslog ~]# cd /var
[root@syslog var]# ls
adm    empty     lib    mail      run
cache  games     local  nis       spool
crash  gopher    lock   opt       tmp
```

- キーボード操作<br>
Ctrl、tabがないのが辛い印象<br>
![Screenshot_20180330-214413.png](https://qiita-image-store.s3.amazonaws.com/0/160993/fa172ab2-e9ae-6e62-6483-82a22e881868.png)


#■キーボードアプリ探してみた。

Hacker's Keyboardというアプリが評判良いので使ってみることにする。

- インストール
![Screenshot_20180331-090949.png](https://qiita-image-store.s3.amazonaws.com/0/160993/fc5190a0-fad3-21e4-211a-5779f7993dfc.png)

- こんな感じ
英語キーボードナイス
![Screenshot_20180331-092021.png](https://qiita-image-store.s3.amazonaws.com/0/160993/b6310f76-8429-f170-2899-5d1d38bdb8bb.png)
<br>
- 使ってみる
ctrlを押すと青い色がついて、バーが固定されるのでその状態でcを押すと
crtl+cになりコマンド中断できる。
アンドロイド標準ではこれが出来なくて、きもちわるかった。
![Screenshot_20180331-092049.png](https://qiita-image-store.s3.amazonaws.com/0/160993/c6122d9d-a840-42de-b7c6-5caa76eb1385.png)
<br>
- tab補完ももちろんできる
![Screenshot_20180331-092123.png](https://qiita-image-store.s3.amazonaws.com/0/160993/cccaa027-6eb2-90e3-fb66-6a388aed872d.png)

#■まとめ
アンドロイド標準キーボードでは、ctrlやtabが無い為、「Hacker's Keyboard」を利用するとパソコンライクな入力ができて幸せになれる。

調べていくうちに、アンドロイド用のsshクライアントあるんじゃね？と思い調べたらありました。
sshクライアントだけ使いたいならこっちでいい。。。
http://applion.jp/android/topic/220153/

あと、python3とかphpを使えるようなので、アンドロイド端末でlinux開発環境を作りたい人向けのアプリですね。