遅ればせながら Termux という Android のアプリを見つけ、Windows の PowerShell から接続してみたので、その時のメモを投稿します。(自分メモです)
秘密鍵を準備
今回、Android 及び Windows とは、異なる Linux 環境で鍵ファイルを作成しました。
ssh-keygen -t rsa
で秘密鍵を作成(ファイル名を「digno」としました)
鍵ファイルは、.ssh
ディレクトリに作成されるので、ls .ssh
とすると、秘密鍵(digno)と公開鍵(digno.pub)が作成されているのが確認できます。
秘密鍵は Windows へ、公開鍵は Andoid へそれぞれ配置します。具体的な配置方法は、今回省略します。
Android での作業
Termux を Android にインストールします。
Termux で termux-setup-storage
を実行し、Android のダウンロードフォルダへのシンボリックリンクを作成します。この作業は、公開鍵の配置に役立てました。
Termux で openssh をインストールします。
公開鍵をcat ./storage/downloads/digno.pub >> .ssh/authorized_keys
で取込みます。
sshd
でデーモンを起動します。
Windows 10 PowerShell で ssh 接続
.ssh
フォルダに秘密鍵を配置します。
> ssh -p 8022 -i .ssh\digno %AndroidのIPアドレス%
で接続します。
Windows 10 での ssh コマンドの簡素化
ssh
コマンドので秘密鍵ファイルの指定を省略したい場合、.ssh\config
を作成します。
Host %AndroidのIPアドレス%
Hostname %AndroidのIPアドレス%
IdentityFile ~/.ssh/digno
> ssh -p 8022 %AndroidのIPアドレス%
で接続できるようになります。
この設定は、鍵ファイルが複数存在する場合、接続先と秘密鍵ファイルの対応を定義するため、今後は接続先だけ記憶しておけば良いことになります。