क्या रूट किए गए एंड्रॉइड फोन के लिए कोई कमांड लाइन एसएसएच क्लाइंट उपलब्ध हैं?


23

मैं बेशक ConnectBot है, लेकिन मैं कुछ मैं स्क्रिप्ट कर सकते हैं के लिए देख रहा हूँ।

संपादित करें: यहां स्पष्ट करने के लिए, मैं एक टर्मिनल से स्क्रिप्ट चलाने में दिलचस्पी नहीं रखता हूं । मैं जो करना चाहता हूं वह एक स्वचालित / अनुसूचित तरीके से SSH कमांड चलाना है। टास्कर और लोकेल एक्सक्यूट क्रोन के बराबर हैं, मुझे स्क्रिप्ट से चलने के लिए 'ssh' कमांड की आवश्यकता है ।


पटकथा के लिए, मैं टास्कर का उपयोग करने का इरादा कर रहा हूं, या तो सीधे या लोकेल एक्सक्यूट
TREE

जवाबों:


12

आप टर्मिनल एमुलेटर को गूगल से इंस्टॉल कर सकते हैं । वैकल्पिक रूप से बेहतर टर्मिनल एमुलेटर प्रो है । मैंने गैर-रूट किए गए फोन पर टर्मिनल एमुलेटर की कोशिश की और यह ठीक काम करने लगा।

बेहतर टर्मिनल एमुलेटर प्रो में ड्रॉपबियर एसएएस क्लाइंट शामिल है , जिसे कमांड लाइन से या लॉन्चर के माध्यम से लॉन्च किया जा सकता है। लेखकों से अधिक जानकारी


टर्मिनल एमुलेटर बल मेरे डिवाइस पर लगातार बंद होता है, और जाहिर तौर पर बहुत से अन्य लोगों के उपकरणों पर। मुझे यह भी कोई संकेत नहीं दिखता है कि इसे टास्कर से या कमांड लाइन से चलाया जा सकता है।
TREE

बेहतर टर्मिनल एमुलेटर प्रो में ड्रॉपबियर क्लाइंट बाइनरी शामिल है। उस जानकारी को शामिल करने के लिए अपने उत्तर को अपडेट करें, और मैं इसे स्वीकार करूंगा।
ट्रे

1
आदर्श रूप से, आपको कभी भी किसी भी क्रिप्टोग्राफी से संबंधित बेहतर टर्मिनल एमुलेटर प्रो जैसे बंद स्रोत सॉफ़्टवेयर का उपयोग नहीं करना चाहिए। मैं Cyanogen लोगों के निर्देशों का उपयोग करके सीधे स्रोत से dropbear ssh बनाने की सलाह दूंगा, जो शायद सभी BTEP ने किया है।
जेफ बर्ड्स

1
विभिन्न ओपन सोर्स एंड्रॉइड एप्लिकेशन हैं जो अपने स्वयं के ड्रॉपबियर ssh क्लाइंट कॉपी को भी स्थापित करते हैं, बस एक सिमिलिंक जोड़ने से यह Google के टर्मिनल एमुलेटर के तहत काम करता है।
जेफ बर्ड्स

google androlib.com/android.application.com-android-term-jpAz.aspx से टर्मिनल एमुलेटर के लिए आपका लिंक "इस एप्लिकेशन को एंड्रॉइड मार्केट से हटा दिया गया प्रतीत होता है" मुझे Google play store में Google द्वारा कोई 'टर्मिनल एमुलेटर' नहीं दिख रहा है । Google play store में पहला परिणाम jack palevich द्वारा Android टर्मिनल एमुलेटर है लेकिन इसका कोई ssh नहीं है।
बार्लॉप

17

चूँकि मेरा मूल प्रश्न एक ssh बाइनरी के बारे में था, और उसके लिए एक उत्तर है, मैं उस उत्तर को स्वीकार करूँगा। हालाँकि, वहाँ एक और तरीका है जो मैं करना चाहता था, थोड़े, जो किसी दिन किसी के लिए दिलचस्प हो सकता है।

Tasker + ConnectBot का उपयोग मनमाने ढंग से रिमोट (या स्थानीय, मुझे लगता है, पर निष्पादित करने के लिए किया जा सकता है, लेकिन एक शेड्यूल पर लोकेले एक्सक्यूट उसके लिए बेहतर है)।

चरण 1: कनेक्टबॉट में अपना कनेक्शन सेट करें।

  • जब तक वे अलग उपनाम रखते हैं तब तक आप कनेक्टबोट में डुप्लिकेट कनेक्शन रख सकते हैं। दूसरा बनाने के लिए आपको पहले एक (उपयोगकर्ता @ होस्ट से दूर) का नाम बदलना होगा। इन परिवर्तनों को करने के लिए लॉन्ग प्रेस और "होस्ट को संपादित करें" चुनें।
  • आप शायद पासवर्ड के बिना एक ssh कुंजी सेट करना चाहते हैं ताकि आप स्वचालन के लिए इसका उपयोग कर सकें।
  • एक बार जब कनेक्शन वास्तव में काम करता है, तो आप उन रिमोट कमांड को जोड़ने के लिए "पोस्ट-लॉगिन ऑटोमेशन" का उपयोग कर सकते हैं जिन्हें आप चलाना चाहते हैं। सुनिश्चित करें कि अंत में एक रिक्त रेखा है ताकि आपके अंतिम आदेश के बाद प्रवेश भेजा जाए। दर्ज करें या; अलग आदेशों के लिए। मेरा सुझाव है कि एक परीक्षण के रूप में "इको हेलो" का उपयोग करें जब तक कि आप सुनिश्चित नहीं हैं कि चीजें काम कर रही हैं, और अंत में "बाहर निकलें" यदि आप कनेक्शन को खुला नहीं छोड़ना चाहते हैं।
  • अलगाव में यह परीक्षण करें।

चरण 2: कनेक्टबॉट को कॉल करने के लिए एक टास्कर टास्क बनाएं।

  • टास्कर में एक नया टास्क बनाएं।
  • एक क्रिया जोड़ें। विविध से, "एक्शन इंटेंट" चुनें
  • खेत हैं:
    • क्रिया: android.intent.action.VIEW
    • बिल्ली: डिफ़ॉल्ट
    • डेटा: ssh url, "ssh: // user @ host / # alias" (उद्धरण के बिना) के रूप में। यहां मौजूद उपनाम, उपयोगकर्ता और होस्ट को चरण 1 में आपके द्वारा स्थापित किए गए उपनाम से मेल खाना चाहिए
    • लक्ष्य: गतिविधि
    • परीक्षण पर क्लिक करें। कनेक्टबोट को खोलना चाहिए और दूरस्थ होस्ट पर आपकी कमांड निष्पादित होनी चाहिए।

चरण 3: टास्कर में इस कार्य का उपयोग करें हालांकि आप सामान्य रूप से।


क्या प्रोग्रामर के माध्यम से कनेक्शन को परिभाषित करने का एक तरीका है, अर्थात, टस्कर और कॉलिंग इंटेंट्स के माध्यम से?
डांग खोआ

मैं इस बारे में निश्चित नहीं हूं। मुझे ठीक से याद नहीं है कि मुझे उपरोक्त इरादे की जानकारी कैसे मिली, लेकिन यह मूल रूप से एक मानक ssh URL है। ऐसे उपकरण हैं जो ऐप्स के लिए Intents की जांच कर सकते हैं, लेकिन मैंने उन का उपयोग नहीं किया है।
TREE

मैं यह जोड़ सकता हूं कि यदि आप ConnectBot के लिए डिफॉल्ट को हटाते हैं और एक और ssh क्लाइंट स्थापित किया है (उदाहरण के लिए BTEP), तो ssh URL किस ऐप का उपयोग करने के लिए संकेत देगा। यह रेखांकित करता है कि ऊपर कुछ मानक है, दोनों "दृश्य" और 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.1 का उपयोग करें।

मैं विभिन्न लिपियों में SL4A r4 से उपरोक्त कमांड का उपयोग करता हूं और यह ठीक काम करता है :)

इससे पहले कि मैं ऐसा कर पाता मुझे a + x /data/data/com.magicandroidapps.bettertermpro/home/.ssh को चोदने की जरूरत थी

एक बार जब यह हो जाता है और आप टाइटेनियम के साथ BTEP को बैकअप / रिस्टोर कर देते हैं, तो अनुमतियाँ रखी जाती हैं, यदि आप एक नया रोम फ्लैश करते हैं, तो आप केवल ऐप्स को रिस्टोर कर सकते हैं और आपकी सभी स्क्रिप्ट्स फिर से काम करेंगी


5

मैंने एंड्रॉइड 4.4 को चलाने के दौरान बोटब्रिज बेसिल एक्सपेरिमेंटल का सफलतापूर्वक उपयोग किया है । बॉट्री बेसिल एक्सपेरिमेंटल एप्टेक पर आधारित है ताकि एपीके स्थापित करने और बूटस्ट्रैपिंग के बाद मैंने apt-get install dropbearएसएसएच क्लाइंट (और सर्वर) को स्थापित करने के लिए एक रूट शेल में किया।


3

टर्मिनल एमुलेटर और क्विकश स्थापित करें। क्विकश में ड्रॉपबियर भी शामिल है। आपके पास पैसे का खर्च नहीं है, जो कि नहीं होना चाहिए क्योंकि यह बहुत सरल है और यह ड्रॉपबियर पर आधारित है।

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

find -name ssh user @ host

समस्या सुलझ गयी


1
उस कार्यक्रम को देखते हुए (बगल से sshdroid) मैं केवल एक ssh सर्वर gui देखता हूं। मैंने तब जैक द्वारा टर्मिनल एमुलेटर की कोशिश की, लेकिन कोई ssh कमांड नहीं मिला। और Quickssh की तलाश में, प्ले स्टोर में, मैं इसे नहीं देखता। मैं केवल quicksshd (teslacoil द्वारा) देखता हूं जिसकी एक छोटी सी कीमत है और इसमें कोई संदेह नहीं है कि एक ssh क्लाइंट नहीं है।
बार्लॉप

2

टर्मिनल एमुलेटर बिल्कुल स्क्रिप्ट का समर्थन करता है *। विश्वास मत कहो। यदि आप पहले से परिचित नहीं हैं, तो आपको BASH शेल स्क्रिप्टिंग सीखने की आवश्यकता होगी। एक स्क्रिप्ट लिखें और इसे अपने एसडी कार्ड पर सहेजें। इसे टर्म से "श फाइलनाम" के साथ चलाएं।

यदि आप स्पष्ट करते हैं कि आप SSH से क्या "स्क्रिप्ट" लेना चाहते हैं, तो मैं आपको एक बेहतर सिफारिश दे सकता हूँ।

* (यह वास्तव में एंड्रॉइड ओएस है जो BASH स्क्रिप्ट का समर्थन करता है, टर्मिनल एमुलेटर सिर्फ आपको एंड्रॉइड शेल तक पहुंच प्रदान करता है, इसलिए स्क्रिप्टिंग संभव है)


सवाल अपडेट किया। मैं ssh के साथ स्क्रिप्ट को कॉल नहीं करना चाहता, मैं स्क्रिप्ट से ssh को कॉल करना चाहता हूं।
TREE

बिल्कुल वही जो मुझे मिल रहा था। फिर से, यदि आप कुछ विवरण देना चाहते हैं तो मैं अधिक सहायता कर सकता हूं।
ch3mi0n

2

किसी स्क्रिप्ट से ssh को कॉल करने के लिए, आपको बस ssh कीज़ सेट करनी होगी। वेब पर एक मिलियन कैसे-कैसे हैं, लेकिन सियानोजेन विकी पर एक पृष्ठ है जो एंड्रॉइड उपयोगकर्ताओं के लिए अधिक अनुकूल हो सकता है। एक बार जब आप कुंजियाँ सेट करते हैं, तो आपका सामान्य ssh कमांड कुछ इस तरह दिखाई देगा: ssh -i / PATH / TO / KEYER- आईपी

आप इसे स्क्रिप्ट में रख सकते हैं, इसे चला सकते हैं, और आपको रिमोट मशीन में लॉग इन किया जाएगा।

लेकिन यहाँ मुझे लगता है कि आप क्या करना चाहते हैं। केवल दूरस्थ कंप्यूटर पर एक कमांड निष्पादित करने के लिए, बस इसे एकल उद्धरण में जोड़ें: ssh -i / PATH / TO / KEY USER @ IP 'कमांड'

जो आपको लॉग इन किए बिना रिमोट मशीन पर कमांड निष्पादित करता है। आप कमांड को विकल्प, पाइप, रीडायरेक्ट आदि के साथ चला सकते हैं, लेकिन कभी-कभी उन्हें सरल रखना बेहतर होता है। देरी को छोड़कर, यह स्थानीय रूप से कमांड को निष्पादित करने के समान दिखता है और इसका उपयोग किया जा सकता है।

लोकेल एक्सिक्यूट को इस बारे में चुना जा सकता है कि यह किस कमांड से चलेगा। यदि यह काम नहीं करता है, तो इसे स्क्रिप्ट में डालने और स्क्रिप्ट चलाने के लिए लोकेल एक्सक्यूट का उपयोग करने का प्रयास करें।

इसके अलावा, मुझे फोन पर मौजूद ssh बाइनरी की समस्या है और उसने पाया कि इसे / system / xbin से स्थानांतरित करना और बेहतर टर्मिनल एमुलेटर ssh बाइनरी में / system / xbin / ssh पर लिंक बनाना अधिक विश्वसनीय है। BTEP बाइनरी /data/data/com.magicandroidapps.bettertermpro/bin/ssh में है


2

बोटब्रेव एंड्रॉइड के लिए एक पैकेज मैनेजर है, okpgबीएसडी के लिए या हाल ही में, APTडेबियन के लिए पसंद है। बहुत अच्छा। इसमें पैकेज के रूप में एक ssh क्लाइंट नहीं है, लेकिन यदि आप अपने स्वयं के पैकेज बनाने के लिए उपयोग किए जाते हैं तो यह बहुत मुश्किल नहीं है। और जब आप अन्य C / C ++ / etc बायनेरीज़ और लाइब्रेरी बनाना चाहते हैं, तो यह एक टूलचैन के रूप में उपयोगी हो सकता है।

तो यह एक सीधा जवाब नहीं है, यह कुछ लोगों के बारे में जानने के लिए उपयोगी हो सकता है।


अच्छा लगा। यह प्ले स्टोर में भी है: play.google.com/store/apps/details?id=com.inportb.botbrew
TREE

अफसोस की बात है, यह botbrew.com की तरह लग रहा है, जो स्थापना को अवरुद्ध करता है।
TREE

यह अजीब है, क्योंकि मुझे लगता है कि संकुल को गीथूब पर होस्ट किया गया है।
एहतेश चौधरी


-1

AndFTP आपके द्वारा कॉन्फ़िगर किए गए किसी भी पोर्ट से कनेक्ट हो सकता है इसलिए मुझे यकीन है कि यह SSH से कनेक्ट हो सकता है। लेकिन मुझे यकीन नहीं है कि इसका उपयोग करना स्क्रिप्ट के लिए कितना आसान है। मैं अपने होस्टिंग सर्वर के लिए हर समय ऐप का उपयोग करता हूं और यह बहुत अच्छा काम करता है।

यकीन नहीं है कि आप टर्मिनल एमुलेटर के साथ एसएसएच कर सकते हैं, लेकिन आप इसे भी आज़मा सकते हैं। मैं एडीबी के साथ काम करने के लिए बहुत आलसी हूं।


AndFTP बढ़िया है। क्या टर्मिनल एमुलेटर स्क्रिप्ट करने योग्य है?
TREE

मैं ऐसा नहीं सोचता, दूसरे ऐप के बिना नहीं। जैसा कि आप ऊपर उल्लेख करते हैं, तस्कर संभवतः इसके साथ जाने का तरीका है।
जाले

-1

टास्कर के लिए एक ssh प्लगइन का उपयोग करें? तब रूट या ssh बाइनरी की आवश्यकता नहीं है।


7
एक का नाम? आपका उत्तर तब सहायक हो सकता है :)
इज़ी

टास्कर के लिए "एसएसएच प्लगिन पेड" है, लेकिन यह पुराना है और अब विकसित नहीं हुआ है। त्रुटि से निपटने लगभग मौजूद नहीं है, इसलिए यह सिर्फ ssh है और बहुत अधिक नहीं है। लेकिन यह काम करता है।
फ्रैंक

-3

यदि साधारण ssh क्लाइंट आपके लिए दिलचस्प है, तो मैंने Android-NDK बायोनिक लाइब्रेरी ड्रोबपियर-एसश-क्लाइंट-ओनली के तहत बनाया। ftp://ftp.simtreas.ru/pub/my/dropbear/dropbear-ssh-only.tgz खट्टा और ftpftp.simtreas.ru/ pub/ my/ dropbear- ssh बाइनरी


यह दुख की बात है कि सामान्य जवाब नहीं है और केवल x86 / ARM / MIPS में से एक पर काम करेगा, शायद ARM। साथ ही लिंक की गई सामग्री कुछ समय में सबसे अधिक गायब हो जाएगी। अधिकांश कस्टम रोम में पहले से ही एक कामकाजी शुद्ध cmdline ssh क्लाइंट शामिल है।
Ce4
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.