もちろんConnectBotを持っていますが、スクリプトを作成できるものを探しています。
編集:ここで明確にするために、ターミナルからスクリプトを実行することに興味はありません。私がやりたいのは、自動化された/スケジュールされた方法でSSHコマンドを実行することです。タスカーとロケールを実行するcronに相当している、すべての私の必要性は、実行するための「SSH」コマンドであるから、スクリプトを実行します。
もちろんConnectBotを持っていますが、スクリプトを作成できるものを探しています。
編集:ここで明確にするために、ターミナルからスクリプトを実行することに興味はありません。私がやりたいのは、自動化された/スケジュールされた方法でSSHコマンドを実行することです。タスカーとロケールを実行するcronに相当している、すべての私の必要性は、実行するための「SSH」コマンドであるから、スクリプトを実行します。
回答:
Googleからターミナルエミュレータをインストールできます。または、Better Terminal Emulator Proがあります。ターミナルエミュレーターをルート化されていない電話で試してみましたが、うまくいくようです。
Better Terminal Emulator Proにはdropbear ssh clientが含まれています。これは、コマンドラインから、またはランチャー経由で起動できます。著者からの詳細。
私の元々の質問はsshバイナリに関するものであり、それに答えがあるので、その答えを受け入れます。しかし、私がやりたいことをやる別の方法があります。それはいつか誰かにとって興味深いかもしれません。
Tasker + ConnectBotを使用すると、任意のリモート(またはローカル、私は推測しますが、Locale Executeの方がよい)コマンドをスケジュールで実行できます。
ステップ1:ConnectBotで接続をセットアップします。
手順2:connectbotを呼び出すTaskerタスクを作成します。
ステップ3:Taskerでこのタスクを使用しますが、通常どおりにします。
私はそれが古いスレッドであることを知っていますが、BTEPに関するコメントを+1したかったです
BTEPのsshバイナリも使用していますが、/ data / data / com.magicandroidapps.bettertermpro / bin / ssh root@192.168.1.1をリンクするのではなく、パスから呼び出すだけです
または、キーのペアを生成し、公開キー認証を使用します/data/data/com.magicandroidapps.bettertermpro/bin/ssh -i /data/data/com.magicandroidapps.bettertermpro/home/.ssh/id_rsa -l root 192.168.1.1
私はさまざまなスクリプトでSL4A r4から上記のコマンドを使用し、うまく動作します:)
これを行う前に、a + x /data/data/com.magicandroidapps.bettertermpro/home/.sshをchmodする必要がありました。
これが完了し、TitaniumBackupを使用してBTEPをバックアップ/復元すると、アクセス許可が保持されます
Android 4.4を実行しているときにBotBrew Basil Experimentalを正常に使用しました。BotBrew Basil Experimentalはapt-getに基づいているため、APKをインストールしてブートストラップした後apt-get install dropbear
、ルートシェルでSSHクライアント(およびサーバー)をインストールしました。
ターミナルエミュレータとquicksshをインストールします。Quicksshにはdropbearも含まれています。あなたにお金はかかりませんが、これは非常に単純であり、それはdropbearに基づいているため、そうすべきではありません。
https://play.google.com/store/apps/details?id=berserker.android.apps.sshdroid
find -name ssh
user @ host
問題が解決しました
ターミナルエミュレーターは、スクリプト*を完全にサポートしています。反対意見を信じないでください。BASHシェルスクリプトに慣れていない場合は、学ぶ必要があります。スクリプトを作成して、SDカードに保存します。Termの「sh filename」で実行します。
SSHを使用して「スクリプト」を作成することを明確にした場合は、より適切な推奨事項を提示できます。
*(実際にはBASHスクリプトをサポートするのはAndroid OSです。ターミナルエミュレーターはAndroidシェルへのアクセスを許可するだけなので、スクリプトは本質的に可能です)
スクリプトからsshを呼び出すには、sshキーを設定するだけです。Webには100万のハウツーがありますが、Cyanogen wikiにはAndroidユーザーにより適したページがあります。キーを設定すると、一般的なsshコマンドは次のようになります。ssh -i / PATH / TO / KEY USER @ IP
これをスクリプトに入れて実行すると、リモートマシンにログインできます。
しかし、あなたがしたいと思うことはここにあります。リモートコンピューターでのみコマンドを実行するには、単一引用符で囲んで追加します。ssh -i / PATH / TO / KEY USER @ IP 'command'
これにより、ログインせずにリモートマシンでコマンドが実行されます。オプション、パイプ、リダイレクトなどを使用してコマンドを実行できますが、単純に保つ方が良い場合があります。遅延を除いて、コマンドをローカルで実行するのと同じように見え、同じように使用できます。
Locale Executeは、実行するコマンドについて気難しいかもしれません。動作しない場合は、スクリプトに入れて、ロケール実行を使用してスクリプトを実行してみてください。
また、携帯電話のsshバイナリに問題があり、/ system / xbinから/ system / xbin / sshにあるBetter Terminal Emulator sshバイナリへのリンクを作成する方が信頼性が高いことがわかりました。BTEPバイナリは/data/data/com.magicandroidapps.bettertermpro/bin/sshにあります
BotbrewはAndroid向けのパッケージマネージャーでokpg
、BSDや最近のAPT
Debian などに似ています。かなりいい。パッケージとしてのsshクライアントはありませんが、独自のパッケージを作成することに慣れている場合は、入れにくいとは言えません。また、他のC / C ++ / etcバイナリおよびライブラリを構築する場合のツールチェーンとしても役立ちます。
したがって、これは直接的な答えではありませんが、一部の人々が知っておくと役立つかもしれません。
AndFTPは、設定したポートを介して接続できるため、SSHを介して接続できると確信しています。しかし、スクリプトの使用方法がどれほど簡単かはわかりません。私は自分のホスティングサーバーで常に自分でアプリを使用していますが、それはうまく機能します。
Terminal EmulatorでSSHできるかどうかはわかりませんが、試してみることもできます。私は、ADBで行うのが面倒なことをするために、このアプリを頻繁に使用します。
シンプルなsshクライアントが興味深い場合は、Android-NDK Bionicライブラリdrobpear-ssh-client-onlyで作成しました。 ftp://ftp.simtreas.ru/pub/my/dropbear/dropbear-ssh-only.tgz sourseおよびftp://ftp.simtreas.ru/pub/my/dropbear/sshバイナリ