Ich habe natürlich ConnectBot, aber ich suche nach etwas, das ich schreiben kann.
Edit: Um zu klären , hier, ich bin nicht daran interessiert, läuft Skripte von einem Terminal. Ich möchte einen SSH-Befehl auf automatisierte / geplante Weise ausführen. Tasker und Locale Execute das Äquivalent von cron, alles was ich brauche sind , ist die ‚ssh‘ Befehl auszuführen aus dem Skript.
ssh
command-line
BAUM
quelle
quelle
Antworten:
Sie können den Terminal-Emulator von Google installieren . Alternativ gibt es den Better Terminal Emulator Pro . Ich habe den Terminal-Emulator auf einem nicht verwurzelten Telefon ausprobiert und es schien gut zu funktionieren.
Better Terminal Emulator Pro enthält den dropbear ssh-Client , der über die Befehlszeile oder über einen Launcher gestartet werden kann. Mehr Infos von den Autoren .
quelle
Da es sich bei meiner ursprünglichen Frage um eine SSH-Binärdatei handelte und es eine Antwort darauf gibt, akzeptiere ich diese Antwort. Es gibt jedoch eine andere Möglichkeit, das zu tun, was ich tun wollte, die eines Tages für jemanden interessant sein könnte.
Tasker + ConnectBot kann verwendet werden, um beliebige entfernte (oder lokale, denke ich, aber Locale Execute ist besser dafür) Befehle nach einem Zeitplan auszuführen.
Schritt 1: Richten Sie Ihre Verbindung in ConnectBot ein.
Schritt 2: Erstellen Sie eine Tasker-Task, um den Connectbot aufzurufen.
Schritt 3: Verwenden Sie diese Aufgabe in Tasker wie gewohnt.
quelle
Ich weiß, dass es ein alter Thread ist, wollte aber den Kommentar zu BTEP +1 geben
Ich verwende auch die BTEP-Binärdatei ssh, obwohl ich sie nur vom Pfad aus aufrufe, anstatt sie mit /data/data/com.magicandroidapps.bettertermpro/bin/ssh [email protected] zu verknüpfen
oder generieren Sie ein Schlüsselpaar und verwenden Sie die Authentifizierung mit öffentlichem Schlüssel /data/data/com.magicandroidapps.bettertermpro/bin/ssh -i /data/data/com.magicandroidapps.bettertermpro/home/.ssh/id_rsa -l root 192.168.1.1
Ich benutze den obigen Befehl von SL4A r4 in verschiedenen Skripten und es funktioniert gut :)
Bevor ich dies tun konnte, musste ich ein + x /data/data/com.magicandroidapps.bettertermpro/home/.ssh chmodieren
Sobald dies erledigt ist und Sie BTEP mit TitaniumBackup sichern / wiederherstellen, bleiben die Berechtigungen erhalten. Wenn Sie ein neues ROM flashen, können Sie einfach die Apps wiederherstellen und alle Ihre Skripte funktionieren wieder
quelle
Ich habe BotBrew Basil Experimental erfolgreich unter Android 4.4 verwendet. BotBrew Basil Experimental basiert auf apt-get, also habe ich nach der Installation von APK und Bootstraping
apt-get install dropbear
in einer Root-Shell den SSH-Client (und -Server) installiert.quelle
Installieren Sie den Terminal-Emulator und Quickssh. Quickssh enthält auch Dropbear. Kostet Sie kein Geld, was es nicht sollte, weil dies unübertrefflich einfach ist und auf Dropbear basiert.
https://play.google.com/store/apps/details?id=berserker.android.apps.sshdroid
find -name ssh
user @ hostProblem gelöst
quelle
Terminal Emulator unterstützt unbedingt Skripte *. Glauben Sie den Neinsagern nicht. Sie müssen das BASH-Shell-Scripting erlernen, wenn Sie noch nicht damit vertraut sind. Schreiben Sie ein Skript und speichern Sie es auf Ihrer SD-Karte. Führen Sie es mit "sh filename" von Term aus.
Wenn Sie klarstellen, was Sie mit SSH "skripten" möchten, kann ich Ihnen wahrscheinlich eine bessere Empfehlung geben.
* (Es ist eigentlich das Android-Betriebssystem, das BASH-Skripte unterstützt. Der Terminal-Emulator gewährt Ihnen lediglich Zugriff auf die Android-Shell. Daher ist Skripten von Natur aus möglich.)
quelle
Um ssh von einem Skript aus aufzurufen, müssen Sie lediglich die ssh-Schlüssel einrichten. Es gibt eine Million Anleitungen im Web, aber es gibt eine Seite im Cyanogen-Wiki, die möglicherweise besser für Android-Benutzer geeignet ist. Sobald Sie die Schlüssel eingerichtet haben, würde Ihr allgemeiner ssh-Befehl ungefähr so aussehen: ssh -i / PATH / TO / KEY USER @ IP
Sie können dies in ein Skript einfügen, es ausführen und Sie werden auf dem Remote-Computer angemeldet.
Aber hier ist, was ich denke, dass Sie tun möchten. Um einen Befehl nur auf einem Remote-Computer auszuführen, müssen Sie ihn in einfache Anführungszeichen setzen: ssh -i / PATH / TO / KEY USER @ IP 'Befehl'
Dadurch wird der Befehl auf dem Remotecomputer ausgeführt, ohne dass Sie angemeldet sind. Sie können Befehle mit Optionen, Pipes, Umleitungen usw. ausführen, aber manchmal ist es besser, sie einfach zu halten. Mit Ausnahme der Verzögerung entspricht dies der lokalen Ausführung der Befehle und kann ebenfalls verwendet werden.
Locale Execute kann wählerisch sein, welche Befehle ausgeführt werden. Wenn dies nicht funktioniert, versuchen Sie, es in ein Skript einzufügen und das Skript mit Locale Execute auszuführen.
Außerdem hatte ich Probleme mit der ssh-Binärdatei, die sich auf dem Telefon befindet, und stellte fest, dass das Verschieben von / system / xbin und das Erstellen einer Verknüpfung unter / system / xbin / ssh mit der ssh-Binärdatei von Better Terminal Emulator zuverlässiger ist. Die BTEP-Binärdatei befindet sich in /data/data/com.magicandroidapps.bettertermpro/bin/ssh
quelle
Botbrew ist ein Paketmanager für Android, etwa
okpg
für BSD oder neuerdingsAPT
für Debian. Sehr schön. Es gibt keinen ssh-Client als Paket, aber es sieht nicht allzu schwierig aus, wenn Sie daran gewöhnt sind, eigene Pakete zu erstellen. Und es kann als Toolchain nützlich sein, wenn Sie andere C / C ++ / etc-Binärdateien und -Bibliotheken erstellen möchten.Obwohl dies keine direkte Antwort ist, kann es für einige Leute nützlich sein, etwas darüber zu wissen.
quelle
Jetzt gibt es ein Terminal namens Termux, in dem Sie openssh installieren können. Verfügbar in Google Play Store , F-Droid und Github .
quelle
AndFTP kann über jeden von Ihnen konfigurierten Port eine Verbindung herstellen, sodass ich mir sicher bin, dass die Verbindung über SSH hergestellt werden kann. Ich bin mir jedoch nicht sicher, wie einfach es ist, Skripte zu verwenden. Ich benutze die App selbst die ganze Zeit für meinen Hosting-Server und es funktioniert großartig.
Ich bin mir nicht sicher, ob Sie mit Terminal Emulator SSH können, aber Sie könnten es auch versuchen. Ich benutze diese App häufig, um Dinge zu tun, die ich mit ADB nicht machen kann.
quelle
Verwenden Sie ein SSH-Plugin für Tasker? Dann brauchst du weder root noch ssh binary.
quelle
Wenn der einfache ssh-client für dich interessant ist, habe ich unter Android-NDK die Bionic-Bibliothek drobpear-ssh-client-only erstellt. ftp://ftp.simtreas.ru/pub/my/dropbear/dropbear-ssh-only.tgz sourse und ftp://ftp.simtreas.ru/pub/my/dropbear/ssh binary
quelle