Köklü Android telefonlar için herhangi bir komut satırı SSH istemcisi var mı?


23

Elbette ConnectBot'um var ama yazabileceğim bir şey arıyorum.

Düzenleme: Burada netleştirmek için , bir terminalden komut dosyaları çalıştırmak ilgilenmiyorum . Yapmak istediğim otomatik / zamanlanmış bir şekilde bir SSH komutu çalıştırmak. Tasker ve Yerel Ayar yürütür cron'nun eşdeğerdir, tüm ı ihtiyacı çalıştırmak için, 'ssh' komuttur gelen komut.


Scriptability için, doğrudan veya Locale Execute Plug-In aracılığıyla Tasker'ı kullanmaya çalışıyorum appbrain.com/app/de.elmicha.app.LocaleExecute
TREE

Yanıtlar:


12

Terminal Emulator'ü google üzerinden yükleyebilirsiniz . Alternatif olarak, Better Terminal Emulator Pro var . Köklü olmayan bir telefonda Terminal Emulator'ı denedim ve iyi görünüyordu.

Better Terminal Emulator Pro , komut satırından veya başlatıcı aracılığıyla başlatılabilen dropbear ssh istemcisini içerir . Yazarlardan daha fazla bilgi .


Terminal Emulator cihazımda sürekli olarak kapanıyor ve görünüşe göre diğer birçok insan cihazında kapanıyor. Ayrıca Tasker'den veya komut satırından çalıştırılabileceğine dair herhangi bir gösterge göremiyorum.
AĞAC

Better Terminal Emulator Pro'nun dropbear istemci ikili kodunu içerdiği görülüyor. Cevabınızı bu bilgiyi içerecek şekilde güncelleyin; kabul ediyorum.
AĞACI

1
İdeal olarak, şifreleme ile ilgili herhangi bir şey için asla Better Terminal Emulator Pro gibi kapalı kaynaklı yazılım kullanmamalısınız. Dropbear ssh'i Cyanogen halkının talimatlarını kullanarak doğrudan kaynaktan inşa etmeyi öneriyorum, muhtemelen BTEP'in yaptığı tek şey bu.
Jeff Burdges,

1
Kendi dropbear ssh istemcisi kopyasını yükleyen çeşitli açık kaynaklı android uygulamaları da var.
Jeff Burdges,

google androlib.com/android.application.com-android-term-jpAz.aspx adresinden terminal emülatörü için bağlantınız "Bu uygulama Android Market'ten kaldırılmış görünüyor" diyor. . Google oyun mağazasında ilk sonuç, Jack Palevich tarafından Android terminal emülatörüdür, ancak ssh yoktur.
barlop 03

17

Asıl sorum ssh binary ile ilgili olduğundan ve bunun için bir cevap olduğundan, bu cevabı kabul edeceğim. Ancak, yapmak istediğim şeyi yapmanın başka bir yolu var, bir çeşit insan için ilginç olabilir.

Tasker + ConnectBot, bir zamanlamaya göre uzaktan (veya yerel, sanırım, ancak Locale Execute bunun için daha iyidir) komutlarını çalıştırmak için kullanılabilir.

Adım 1: Bağlantınızı ConnectBot'ta ayarlayın.

  • Farklı takma adları olduğu sürece ConnectBot'ta yinelenen bağlantılara sahip olabilirsiniz. İkinciyi oluşturmak için önce bir tane (user @ host'tan uzakta) yeniden adlandırmanız gerekir. Uzun basın ve bu değişiklikleri yapmak için "Edit Host" seçeneğini seçin.
  • Muhtemelen otomasyon için kullanabilmeniz için bir şifre olmadan bir ssh anahtarı ayarlamak istersiniz.
  • Bağlantı gerçekten çalıştığında, çalıştırmak istediğiniz uzak komutları eklemek için "Giriş sonrası otomasyonu" kullanabilirsiniz. Sonunda boş bir satır olduğundan emin olun, böylece son komutunuzdan sonra enter gönderilir. Enter veya kullanın; komutları ayırmak için. "Echo hello" gibi bir şeyin, işlerin işe yaradığından emin olana kadar testten geçmesini ve sonunda bağlantıyı açık bırakmak istemiyorsanız "çıkış" ı kullanmanızı öneririm.
  • Bunu izolasyonda test edin.

2. Adım: connectbot'u çağırmak için bir Tasker Görev oluşturun.

  • Tasker'da yeni bir Görev oluşturun.
  • Bir Eylem Ekleyin. Çeşitli'den, "Eylem Amaç" ı seçin
  • Alanlar:
    • Eylem: android.intent.action.VIEW
    • Kedi: varsayılan
    • Veri: ssh url, "ssh: // user @ host / # alias" (tırnak işaretleri olmadan) şeklinde. Takma, kullanıcı ve burada ev sahibi olmalıdır 1. Adımda kurmak takma maç.
    • Hedef: Etkinlik
    • Test Et'i tıklayın. Connectbot açılmalı ve komutlarınız uzak ana bilgisayarda çalıştırılmalıdır.

Adım 3: Bu Görevi Tasker'da kullanın, ancak normalde bu işlemi yapın.


Bağlantıyı programlı olarak tanımlamak için bir yol var mı?
Dang Khoa

Bunun hakkında emin değilim. Yukarıdaki Amaç bilgisini tam olarak nasıl bulduğumu hatırlamıyorum, ancak temelde standart bir ssh URL'si. Uygulamalar için Amaçları araştırabilecek araçlar var, ancak ben bunları kullanmadım.
AĞAÇ

ConnectBot için varsayılanları kaldırırsanız ve başka bir ssh istemcisine (örneğin BTEP) sahipseniz, ssh URL'lerinin hangi uygulamanın kullanılacağını soracağını ekleyebilirim. Bu, yukarıdakilerin hem “VIEW” hem de ssh formatındaki standart bir şey olduğunun altını çizer. Bu durumda ConnectBot'a özgü olan tek şey, sondaki #alias.
AĞAÇ

5

Eski bir konu olduğunu biliyorum ama BTEP hakkındaki yorumu + 1'lemek istedi

Ayrıca BTEP'in ssh binaryini kullanıyorum, ancak /data/data/com.magicandroidapps.bettertermpro/bin/ssh root@192.168.1.1 'i bağlamak yerine sadece onun yolundan aradım

veya bir çift anahtar üretin ve ortak anahtar kimlik doğrulaması kullanın /data/data/com.magicandroidapps.bettertermpro/bin/ssh -i /data/data/com.magicandroidapps.bettertermpro/home/.ssh/id_rsa -l root

SL4A r4'ün yukarıdaki komutunu çeşitli komut dosyalarında kullanıyorum ve iyi çalışıyor :)

Bunu yapmadan önce a + x /data/data/com.magicandroidapps.bettertermpro/home/.ssh

Bu yapıldığında ve BTEP'i TitaniumBackup ile yedeklediğinizde / geri yüklediğinizde izinler korunur, bu da eğer yeni bir rom kullanıyorsanız, sadece uygulamaları geri yükleyebilirsiniz ve tüm komut dosyalarınız tekrar çalışacaktır.


5

Android 4.4 çalıştırırken BotBrew Basil Experimental'i başarıyla kullandım . BotBrew Fesleğen Deneysel apt-get dayanarak APK ve bootstraping işleminden sonra apt-get install dropbearSSH istemcisini (ve sunucusunu) kurmak için sadece bir root kabuğuna yaptım .


3

Terminal emülatörünü ve quickssh'i kurun. Quickssh ayrıca dropbear'ı da içerir. Size paraya mal olmaz, ki bu çok da basit bir şey değildir ve düşmeye dayanmaktadır.

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

find -name ssh kullanıcı @ host

Sorun çözüldü


1
Bu programa bakarken (bessher tarafından sshdroid) Sadece bir ssh sunucusu gui görüyorum. Sonra terminal emülatörünü kriko ile denedim ama ssh komutu eklenmedi. Ve quickssh'ı arıyorum, oyun mağazasında göremiyorum. Ben sadece quicksshd (teslacoil tarafından) küçük bir fiyatı olan ve hiç şüphesiz bir ssh istemcisi olmadığını görüyorum.
barlop

2

Terminal Emulator kesinlikle komut dosyalarını * destekler. Nay söyleyenlere inanma. Eğer zaten bilmiyorsanız, BASH kabuk betiğini öğrenmeniz gerekecektir. Bir komut dosyası yazın ve SD kartınıza kaydedin. Terimden "sh dosyaadı" ile çalıştırın.

SSH ile ne yapmak istediğinizi "script" yapmak istediğinizi netleştirirseniz, muhtemelen size daha iyi bir öneride bulunabilirim.

* (Aslında BASH komut dosyalarını destekleyen Android işletim sistemidir, Terminal Emulator yalnızca Android kabuğuna erişiminizi sağlar, bu nedenle komut dosyası kendiliğinden mümkündür)


Soru güncellendi. Senaryoyu ssh ile çağırmak istemiyorum, ssh'yi komut dosyasından aramak istiyorum.
AĞACI

Tam olarak ne elde ettiğimi. Yine, bazı özellikleri vermek istiyorsanız daha fazla yardım edebilirim.
ch3mi0n

2

Bir komut dosyasından ssh'yi çağırmak için tek yapmanız gereken ssh anahtarlarını ayarlamaktır. Web'de milyonlarca nasıl yapılır, ancak Cyanogen wiki'de Android kullanıcıları için daha uygun olabilecek bir sayfa var. Anahtarları ayarladıktan sonra, genel ssh komutunuz şuna benzer: ssh -i / PATH / TO / KEY USER @ IP

Bunu bir komut dosyasına koyabilir, çalıştırabilir ve uzaktaki makineye giriş yapmış olacaksınız.

Ama işte yapmak istediğini düşünüyorum. Sadece uzak bir bilgisayarda bir komutu çalıştırmak için, sadece tek tırnak içine ekleyin: ssh -i / PATH / TO / KEY USER @ IP 'command'

Bu komut size giriş yapmadan uzaktaki makinede çalıştırılır. Komutları seçenekler, borular, yönlendirmeler vb. Gecikme dışında, komutları yerel olarak çalıştırmakla aynı görünüyor ve aynı şekilde kullanılabilir.

Yerel Ayar Yürüt hangi komutların çalışacağı konusunda seçici olabilir. Çalışmazsa, bir betiğe koymayı ve betiği çalıştırmak için Locale Execute uygulamasını kullanmayı deneyin.

Ayrıca, telefonda olan ssh binary ile ilgili sorunlar yaşadım ve / system / xbin'den hareket ettirmenin ve / system / xbin / ssh adresinden Better Terminal Emulator ssh binary'e bir bağlantı oluşturmanın daha güvenilir olduğunu öğrendim. BTEP ikili dosyası /data/data/com.magicandroidapps.bettertermpro/bin/ssh adresindedir.


2

Botbrew , Debian'da olduğu okpggibi BSD veya daha yakın zamanlarda olduğu gibi Android için bir paket yöneticisidir APT. Bayağı güzel. Paket olarak bir ssh istemcisi yok, ancak kendi paketlerinizi oluşturmaya alışkınsanız kullanmanız çok zor görünmüyor. Ve diğer C / C ++ / etc ikili dosyalarını ve kütüphanelerini oluşturmak istediğinizde bir araç zinciri olarak yararlı olabilir.

Dolayısıyla bu doğrudan bir cevap olmasa da, bazı insanların bilmesi yararlı olabilir.


Güzel. Aynı zamanda oyun deposunda: play.google.com/store/apps/details?id=com.inportb.botbrew
TREE

Ne yazık ki, botbrew.com kapalı görünüyor, bu da kurulumu engelliyor.
AĞAÇ

Garip çünkü paketleri github'da barındırılıyor.
Ehtesh Choudhury


-1

AndFTP yapılandırdığınız herhangi bir bağlantı noktasına bağlanabilir, böylece SSH üzerinden bağlanabileceğinden eminim. Ama bunun kullanımı komut dosyası ne kadar kolay olduğundan emin değilim. Uygulamayı barındırma sunucum için her zaman kendim kullanıyorum ve harika çalışıyor.

Terminal Emulator ile SSH yapıp yapamayacağınızdan emin değilim, ama siz de deneyebilirsiniz. ADB ile yapmak için çok tembel olduğum şeyler yapmak için bu uygulamayı sık sık kullanıyorum.


AndFTP harika. Terminal Emulator yazılabilir mi?
AĞACI

Sanmıyorum, başka bir uygulama olmadan değil. Yukarıda bahsettiğiniz gibi, Tasker muhtemelen bununla devam etmenin yoludur.
Webs

-1

Tasker için bir ssh eklentisi kullanın? O zaman root ya da ssh binary dosyasına ihtiyacınız yoktur.


7
Birinci isim mi? Cevabınız sonra yardımcı olabilir :)
Izzy

Tasker için "SSH Eklentisi Ödendi" var, ancak eski ve artık gelişmedi. Hata işleme neredeyse yok, bu yüzden sadece ssh ve çok değil. Ama işe yarıyor.
Frank

-3

Basit ssh istemcisi sizin için ilginçse, Android-NDK Bionic library drobpear-ssh-client-only altında yaptım. ftp://ftp.simtreas.ru/pub/my/dropbear/dropbear-ssh-only.tgz sourse ve ftp://ftp.simtreas.ru/pub/my/dropbear/ssh ikili


Bu ne yazık ki genel bir cevap değildir ve yalnızca ARM olan x86 / ARM / MIPS'den yalnızca birinde çalışır. Ayrıca, bağlantılı içerik büyük olasılıkla bir zamanda kaybolur. Çoğu özel ROM, zaten çalışan bir saf cmdline ssh istemcisi içerir.
ce4
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.