Access_To_Mobile_Phone_By_Ssh

スマホを安全にPCから操作する方法

やりたいこと

  • PCから安全にスマホの内部データを操作する

用意するもの

  • Androidスマホ
  • MacBook

手順

termuxをインストールする

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.XXifconfig で確認した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])?

参考