タイトルを読んで、まず頭に浮かぶ疑問は「なぜ?」でしょう。答えは用途によって異なります。デバイスからファイルを安全にコピーしたい場合もあるでしょう。開発者であれば、ファイルシステム階層に簡単にアクセスしたい場合もあるでしょう。理由は様々ですが、Google Playストアにはこれらの目的に適したアプリが数多くあります。私のお気に入りの一つは「SimpleSSHD」です。このAndroid用SSHサーバーは、目新しい機能は備えていませんが、必要な機能を簡単に利用できます。
SimpleSSH をインストールして、その活用方法を見てみましょう。
インストール
Android 7.1.1を搭載したOnePlus 3にSimpleSSHをインストールします。SimpleSSHはAndroid 2.1以降で動作するため、(非常に古いデバイスでない限り)確実に動作します。また、SimpleSSHはルート化されたデバイスを必要としません。
インストールは簡単です。以下の手順に従ってください。
- AndroidデバイスでGoogle Playストアを開きます
- SimpleSSHを検索
- galexandのエントリを見つけてタップします
- インストールをタップ
- インストールが完了するまで待ちます
インストールはこれで完了です。SimpleSSHランチャーはアプリドロワーまたはホーム画面(もしくは両方)にあります。アプリアイコンをタップしてSimpleSSHを起動してください。
参照: モバイルデバイスコンピューティングポリシー (Tech Pro Research)
使用法
SimpleSSH を使うことは、ツールボックスの中で最も分かりやすいタスクではないかもしれません。なぜでしょうか?SSH に慣れている方なら、SSH サーバーにログインするには次のようなコマンドを実行するだけであることをご存知でしょう。
ssh USERNAME@IP
ここで、USERNAMEはユーザー名、IPはリモートサーバーのIPアドレスです。すぐに思い浮かぶのは、ユーザー名ですよね?SimpleSSHではIPアドレスは明確に表示されますが、ユーザー名はどうでしょうか?簡単です。ユーザー名は使いません。Androidデバイスにセキュアシェルで接続するためのコマンドは、以下の形式になります。
ssh IP
ここで、IP は SimpleSSH ウィンドウに表示される IP アドレスです (図A)。
図A

SimpleSSHサーバーにログインする際に注意すべき点があと2つあります。まず、標準SSHポート22番は使用されません(このポートは特権ポートであり、アプリはアクセスできないためです)。SimpleSSHは初期状態ではポート2222に設定されています。このポートは(設定から)変更できますが、ここではデフォルトポートの2222を使い続けることにします。つまり、SimpleSSHにログインするには、以下のコマンドを実行する必要があります。
ssh IP -p 2222
SimpleSSHウィンドウの「スタート」ボタンをタップし、デスクトップクライアントに戻って上記のコマンドを実行してください。SimpleSSH画面にワンタイムパスワードが表示されます(図B)。SimpleSSHサーバーにログインしている端末からそのパスワードを入力すると、アクセスが許可されます。
図B

このパスワードは1回のログイン試行でのみ有効です。入力を間違えた場合は、新しいワンタイムパスワードが発行されます。ログインに成功すると、/storage/emulated/0/sshディレクトリに保存されます。このディレクトリは読み取り不可のため、読み取り権限のあるディレクトリに移動する必要があります。cd ../コマンドを実行すると、読み取り/書き込み権限のあるディレクトリ(/storage/emulated/0)に1つ移動します。
参照:特別レポート:IoTとモバイルの世界におけるサイバーセキュリティ(無料PDF)(TechRepublic)
SCP
SimpleSSHはセキュアコピー機能も備えています。デスクトップからAndroidデバイスにファイルを安全にコピーしたいとします。これはscpコマンドを使って実行できます。ただし、scpは代替ポートの扱いがsshとは少し異なることを覚えておいてください。つまり、デスクトップからAndroidデバイスにファイルをコピーするコマンドは次のようになります。
scp -P 2222 /PATH/TO/LOCAL/FILE IP:/PATH/TO/REMOTE/FILE
IP は Android デバイスの IP アドレス、/PATH/TO/LOCAL/FILE はローカルデバイス上のファイルへのパス(末尾にファイル名)、/PATH/TO/REMOTE/FILE/ はリモートファイルへのパス(末尾にファイル名)です。このコマンドを実行すると、SimpleSSH から新しいワンタイムパスワードが発行されます。認証が完了するとファイルがコピーされ、準備完了です。
SimpleSSH の使用が終了したら、必ず STOP ボタンをタップしてサーバーを停止してください。
SSHサーバーをシンプルに
Android向けのSSHサーバーはいくつかありますが、SimpleSSHを使えば、他のツールよりもSSH(またはSCP)接続が少し簡単になります。このアプリを試してみて、AndroidへのSSH接続が少し楽になるかどうか確かめてみてください。
