Access_To_Mobile_Phone_By_Ssh
スマホを安全にPCから操作する方法
やりたいこと
- PCから安全にスマホの内部データを操作する
用意するもの
- Androidスマホ
- MacBook
手順
termuxをインストールする
- App Store にあるやつはメンテされていないので、F-Droid からインストールする
Android の内部ストレージを扱えるようにする
termux-setup-strage
必要なパッケージを入れる
pkg update
# 最新版にアップグレード
pkg upgrade
# curl git gh をインストール
pkg install curl git gh zsh
dotfilesをインストールする(任意)
- 自分のdotfilesがある場合は入れる
gh repo clone https://github.com/xxxx/ditfiles
- 必要なシンボリックリンクを貼る
ln -s dotfiles/.config ./.config
ln -s dotfile/.zshenv ./.zshenv
zsh を常に利用するようにする(任意)
zshを起動
zsh
- 次回以降もzshを使いたいのでデフォルトシェルに設定する
chsh -s zsh
GitHub認証する
gh auth login
ssh 設定
- OpenSSH をインストールする
pkg install openssh
- パスワードを設定する
passwd
- termux起動時に常にssh接続したい場合は
.zshrcに起動コマンドを書きこむ
# vi で .zshenv を開く
vi .zshenv
# .zshenv に以下を書き込む
# sshd
利用方法
Android 側で以下を実行
- IPアドレスを確認する
ifconfig
以下のようなレスポンスが返るので
XXX.XXX.X.XXの部分をコピーしておくWarning: cannot open /proc/net/dev (Permission denied). Limited output. lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 1000 (UNSPEC) wlan0: flags=4163 mtu 1500 inet XXX.XXX.X.XX netmask 255.255.255.0 broadcast XXX.XXX.0.XXX unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 3000 (UNSPEC)SSH を起動
sshd
PC側
- 接続する
- デフォルトで
8022になっている XXX.XXX.X.XXはifconfigで確認したIPアドレス
- デフォルトで
ssh -p 8022 XXX.XXX.X.XX
- 初回のみ以下のように聞かれるので
yesと入力してパスワードを入力する
The authenticity of host '[XXX.XXX.X.XX]:8022' can't be established.
ECDSA key fingerprint is SHA256:XXXXxXxXXXXxXXxXXXXXXXXXXXXXxXXXXXXXXXXxxXX.
Are you sure you want to continue connecting (yes/no/[fingerprint])?