TermuxにWi-Fi経由でSSH接続する

前回はTermuxにUSB経由でSSH接続する方法でしたが、今回はTermuxにWi-Fi経由で入る方法です。

  1. PC: 鍵を生成してAndroidへ送る

まずAndroidとPCを用意してUSBでつなげます。

Wi-FiでもUSBでPCとAndroidをまずは繋がなきゃダメです。

次に、秘密鍵と公開鍵を生成し、Androidに送ります。

1
2
3
4
5
6
7
8
9
10
11
12
# 鍵の生成
$ cd ~/.ssh
$ ssh-keygen -t rsa -b 2048 -f <名前>
公開鍵:名前.pub
秘密鍵:名前
が生成される

# 端末を認識
$ adb devices

# 公開鍵をAndroidへ 表示されたIDにpush
$ adb -s <id> push <公開鍵> /sdcard/Download/<公開鍵>

ここまではUSBで繋ぐのと一緒です。

  1. Android: Termuxで鍵を設定する

AndroidでTermuxを起動して、そこで公開鍵を設定します。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# storageを有効化
## これをやらないとpushした鍵が見つからない
$ termux-setup-storage

# 公開鍵がpushされているか確認
$ ls -l ~/storage/downloads/<公開鍵>

# 公開鍵をauthorized_keysに追加
$ cat ~/storage/downloads/<公開鍵> >> ~/.ssh/authorized_keys
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys

# ssh起動
$ sshd
# 何も出力されないがそれでいい

ここもUSBで繋ぐのと一緒です。

  1. Android: ipの確認

AndroidのTermuxで下記のコマンドをたたく。

1
2
3
# ip確認
$ ip -4 a
## IPっぽいものが表示されます192.168.x.xxx みたいな

もしくはAndroid端末の[設定] => [システム] => [端末情報] => [端末の状態] のIPアドレスの部分を確認。

[設定]以降は端末によって結構違うので根気よく探してください。

  1. PC: PCからSSH接続

PCからWi-Fi経由でSSH接続します。

1
2
# 接続
$ ssh -p 8022 -i ~/.ssh/<秘密鍵> <ip>

もちろん~/.ssh/configに設定を書いておいて接続することも可能です。

USB接続に比べるとWi-Fiは結構遅いですが、無線なのでまあそういうもんです。

速度が気になるのであればUSBがオススメです。