root化されたAndroidフォンで利用可能なコマンドラインSSHクライアントはありますか?


23

もちろんConnectBotを持っていますが、スクリプトを作成できるものを探しています。

編集:ここで明確にするために、ターミナルからスクリプトを実行することに興味はありません。私がやりたいのは、自動化された/スケジュールされた方法でSSHコマンドを実行することです。タスカーとロケールを実行するcronに相当している、すべての私の必要性は、実行するための「SSH」コマンドであるから、スクリプトを実行します。


スクリプト機能のために、私は、プラグインの実行直接またはロケールを経由して、タスカーを使用するつもりだappbrain.com/app/de.elmicha.app.LocaleExecute
TREE

回答:


12

Googleからターミナルエミュレータをインストールできます。または、Better Terminal Emulator Proがあります。ターミナルエミュレーターをルート化されていない電話で試してみましたが、うまくいくようです。

Better Terminal Emulator Proにはdropbear ssh clientが含まれています。これは、コマンドラインから、またはランチャー経由で起動できます。著者からの詳細


ターミナルエミュレータは、私のデバイス上で、また明らかに多くの人のデバイス上で、一貫して強制終了します。また、Taskerまたはコマンドラインから実行できるという兆候も見られません。

Better Terminal Emulator Proにはdropbearクライアントバイナリが含まれていることがわかりました。その情報を含めるように回答を更新してください。それを受け入れます。

1
理想的には、暗号化に関連するものには、Better Terminal Emulator Proなどのクローズドソースソフトウェアを使用しないでください。私は、Cyanogenの人々の指示を使用してソースから直接dropbear sshを構築することをお勧めします。
ジェフバード

1
独自のdropbear sshクライアントコピーをインストールするさまざまなオープンソースAndroidアプリケーションもあります。シンボリックリンクを追加するだけで、Googleのターミナルエミュレーターで動作します。
ジェフバージズ

google androlib.com/android.application.com-android-term-jpAz.aspxからのターミナルエミュレーターへのリンクに 「このアプリケーションはAndroidマーケットから削除されているようです」とGoogleのGoogle Playストアで「ターミナルエミュレーター」が表示されない。Google Playストアでの最初の結果は、jack palevichによるAndroidターミナルエミュレーターですが、sshはありません。
barlop 14

17

私の元々の質問はsshバイナリに関するものであり、それに答えがあるので、その答えを受け入れます。しかし、私がやりたいことをやる別の方法があります。それはいつか誰かにとって興味深いかもしれません。

Tasker + ConnectBotを使用すると、任意のリモート(またはローカル、私は推測しますが、Locale Executeの方がよい)コマンドをスケジュールで実行できます。

ステップ1:ConnectBotで接続をセットアップします。

  • 異なるエイリアスがある限り、ConnectBotで重複した接続を使用できます。2番目の名前を作成するには、最初に(user @ hostから離れて)名前を変更する必要があります。これらの変更を実行するには、長押しして「ホストの編集」を選択します。
  • これを自動化に使用できるように、おそらくパスワードなしでsshキーをセットアップする必要があります。
  • 接続が実際に機能したら、「ログイン後の自動化」を使用して、実行するリモートコマンドを追加できます。最後のコマンドの後にEnterが送信されるように、最後に空白行があることを確認してください。Enterまたは;を使用します。コマンドを分離します。「echo hello」などをテストとして使用することをお勧めします。動作を確認し、接続を開いたままにしたくない場合は最後に「exit」します。
  • これを単独でテストします。

手順2:connectbotを呼び出すTaskerタスクを作成します。

  • Taskerで新しいタスクを作成します。
  • アクションを追加します。[その他]から[アクションインテント]を選択します
  • フィールドは次のとおりです。
    • アクション:android.intent.action.VIEW
    • 猫:デフォルト
    • データ:ssh url、「ssh:// user @ host /#alias」の形式(引用符なし)。ここでのエイリアス、ユーザー、ホストは、手順1で設定したエイリアスと一致する必要があります。
    • ターゲット:アクティビティ
    • テストをクリックします。Connectbotが開き、コマンドがリモートホストで実行されます。

ステップ3:Taskerでこのタスクを使用しますが、通常どおりにします。


プログラムで接続を定義する方法はありますか。つまり、Taskerと呼び出しインテントを使用して。
ダンコア

そのことはよくわからない。上記のインテント情報をどのように見つけたか正確には思い出せませんが、基本的には標準のssh URLです。アプリのインテントを調査できるツールはありますが、私はそれらを使用していません。

ConnectBotのデフォルトを削除し、別のsshクライアント(たとえば、BTEP)がインストールされている場合、ssh URLが使用するアプリのプロンプトを表示することを追加できます。これは、上記が「VIEW」とssh形式の両方の標準的なものであることを強調しています。この場合のConnectBotに固有の唯一のものは、最後の#aliasです。
TREE

5

私はそれが古いスレッドであることを知っていますが、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をバックアップ/復元すると、アクセス許可が保持されます


5

Android 4.4を実行しているときにBotBrew Basil Experimentalを正常に使用しました。BotBrew Basil Experimentalはapt-getに基づいているため、APKをインストールしてブートストラップした後apt-get install dropbear、ルートシェルでSSHクライアント(およびサーバー)をインストールしました。


3

ターミナルエミュレータとquicksshをインストールします。Quicksshにはdropbearも含まれています。あなたにお金はかかりませんが、これは非常に単純であり、それはdropbearに基づいているため、そうすべきではありません。

https://play.google.com/store/apps/details?id=berserker.android.apps.sshdroid

find -name ssh user @ host

問題が解決しました


1
そのプログラム(beserkerのsshdroid)を見ると、sshサーバーguiしか見えません。その後、ジャックでターミナルエミュレータを試しましたが、sshコマンドが追加されていません。クイックストアを探して、プレイストアで、私はそれを見ません。私はquicksshd(teslacoilによる)のみを見ており、価格は小さく、間違いなくsshクライアントではありません。
barlop 14

2

ターミナルエミュレーターは、スクリプト*を完全にサポートしています。反対意見を信じないでください。BASHシェルスクリプトに慣れていない場合は、学ぶ必要があります。スクリプトを作成して、SDカードに保存します。Termの「sh filename」で実行します。

SSHを使用して「スクリプト」を作成することを明確にした場合は、より適切な推奨事項を提示できます。

*(実際にはBASHスクリプトをサポートするのはAndroid OSです。ターミナルエミュレーターはAndroidシェルへのアクセスを許可するだけなので、スクリプトは本質的に可能です)


質問を更新しました。sshでスクリプトを呼び出したくありません。スクリプトからsshを呼び出したいです。

まさに私が得ていたもの。繰り返しますが、もしあなたがいくつかの詳細を与えたいなら、私はもっと助けになるかもしれません。
ch3mi0n

2

スクリプトから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にあります


2

BotbrewはAndroid向けのパッケージマネージャーでokpg、BSDや最近のAPTDebian などに似ています。かなりいい。パッケージとしてのsshクライアントはありませんが、独自のパッケージを作成することに慣れている場合は、入れにくいとは言えません。また、他のC / C ++ / etcバイナリおよびライブラリを構築する場合のツールチェーンとしても役立ちます。

したがって、これは直接的な答えではありませんが、一部の人々が知っておくと役立つかもしれません。


いいね プレイストアにもあります:play.google.com/store/apps/details
TREE

悲しいことに、botbrew.comがダウンしているように見え、インストールがブロックされます。

パッケージはgithubでホストされていると思うので、それは奇妙です。
Ehteshチョードリー


-1

AndFTPは、設定したポートを介して接続できるため、SSHを介して接続できると確信しています。しかし、スクリプトの使用方法がどれほど簡単かはわかりません。私は自分のホスティングサーバーで常に自分でアプリを使用していますが、それはうまく機能します。

Terminal EmulatorでSSHできるかどうかはわかりませんが、試してみることもできます。私は、ADBで行うのが面倒なことをするために、このアプリを頻繁に使用します。


AndFTPは素晴らしいです。ターミナルエミュレーターはスクリプト可能ですか?

私はそうは思わない、別のアプリなしではない。あなたが上記で言及したように、Taskerはおそらくこれを使用する方法です。
ウェブ

-1

Taskerにsshプラグインを使用しますか?その場合、rootまたはsshバイナリは必要ありません。


7
名前を一つ?あなたの答えはその後役立つかもしれません:)
イジー

Taskerには「SSH Plugin Paid」がありますが、それは古く、開発されていません。エラー処理はほとんど存在しないため、単なるsshであり、それ以上ではありません。しかし、それは機能します。
フラン

-3

シンプルな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バイナリ


残念ながらこれは一般的な答えではなく、x86 / ARM / MIPSの1つ、おそらくARMでのみ動作します。また、リンクされたコンテンツはおそらくいつかは消えます。ほとんどのカスタムROMには、動作する純粋なcmdline sshクライアントがすでに含まれています。
ce4
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.