Có bất kỳ dòng máy khách SSH nào có sẵn cho điện thoại Android đã root không?


23

Tôi tất nhiên có ConnectBot, nhưng tôi đang tìm kiếm thứ gì đó tôi có thể viết kịch bản.

Chỉnh sửa: Để làm rõ ở đây, tôi không quan tâm đến việc chạy các tập lệnh từ một thiết bị đầu cuối. Những gì tôi muốn làm là chạy một lệnh SSH theo cách tự động / theo lịch trình. Tasker và Locale Execute tương đương với cron, tất cả những gì tôi cần là lệnh 'ssh' để chạy từ tập lệnh.


Để có khả năng viết kịch bản, tôi dự định sử dụng Tasker, trực tiếp hoặc thông qua Locale Execute Plug-In appbrain.com/app/de.elmicha.app.LocaleExecute
TREE

Câu trả lời:


12

Bạn có thể cài đặt Trình mô phỏng đầu cuối từ google. Ngoài ra, còn có Trình mô phỏng thiết bị đầu cuối tốt hơn . Tôi đã thử Trình mô phỏng đầu cuối trên điện thoại chưa root và có vẻ như nó hoạt động tốt.

Better Terminal Emulator Pro bao gồm ứng dụng khách sb dropbear , có thể được khởi chạy từ dòng lệnh hoặc thông qua trình khởi chạy. Thêm thông tin từ các tác giả .


Trình mô phỏng đầu cuối đóng cửa liên tục trên thiết bị của tôi và dường như trên nhiều thiết bị của người khác. Tôi cũng không thấy bất kỳ dấu hiệu nào cho thấy nó có thể được chạy từ Tasker hoặc từ dòng lệnh.
TREE

Hóa ra Better Terminal Emulator Pro không bao gồm nhị phân máy khách dropbear. Cập nhật câu trả lời của bạn để bao gồm thông tin đó và tôi sẽ chấp nhận nó.
TREE

1
Tốt nhất, bạn không bao giờ nên sử dụng phần mềm nguồn đóng như Better Terminal Emulator Pro cho bất kỳ thứ gì liên quan đến mật mã. Tôi khuyên bạn nên xây dựng sb dropbear trực tiếp từ nguồn bằng hướng dẫn của người Cyanogen, đó có lẽ là tất cả BTEP đã làm.
Jeff Burdges

1
Có nhiều ứng dụng Android mã nguồn mở khác nhau cũng cài đặt bản sao ứng dụng khách sb dropbear của riêng họ, chỉ cần thêm một liên kết tượng trưng sẽ khiến nó hoạt động theo Trình mô phỏng đầu cuối của Google.
Jeff Burdges

liên kết của bạn cho trình giả lập thiết bị đầu cuối từ google androlib.com/android.application.com-android-term-jpAz.aspx nói "Ứng dụng này dường như bị xóa khỏi Android Market" Tôi thấy không có 'trình giả lập thiết bị đầu cuối' bởi google trong cửa hàng google play . Kết quả đầu tiên trong cửa hàng google play là trình giả lập thiết bị đầu cuối Android của jack palevich nhưng nó không có ssh.
barlop

17

Vì câu hỏi ban đầu của tôi là về một nhị phân ssh, và có một câu trả lời cho điều đó, tôi sẽ chấp nhận câu trả lời đó. Tuy nhiên, có một cách khác để làm những gì tôi muốn làm, đó là điều có thể thú vị với ai đó một ngày nào đó.

Tasker + ConnectBot có thể được sử dụng để thực thi các lệnh từ xa tùy ý (hoặc cục bộ, tôi đoán vậy, nhưng Locale Execute tốt hơn cho điều đó) theo lịch trình.

Bước 1: Thiết lập kết nối của bạn trong ConnectBot.

  • Bạn có thể có các kết nối trùng lặp trong ConnectBot miễn là chúng có các bí danh khác nhau. Bạn phải đổi tên một cái trước (cách xa user @ host) để tạo cái thứ hai. Bấm và chọn "Chỉnh sửa máy chủ" để thực hiện các thay đổi này.
  • Bạn có thể muốn thiết lập khóa ssh mà không cần mật khẩu để có thể sử dụng khóa này để tự động hóa.
  • Khi kết nối thực sự hoạt động, bạn có thể sử dụng "Tự động hóa sau đăng nhập" để thêm các lệnh từ xa mà bạn muốn chạy. Đảm bảo có một dòng trống ở cuối để nhập được gửi sau lệnh cuối cùng của bạn. Sử dụng nhập hoặc; để tách các lệnh. Tôi khuyên bạn nên sử dụng một cái gì đó như "echo hello" làm thử nghiệm cho đến khi bạn chắc chắn mọi thứ đang hoạt động và "thoát" ở cuối nếu bạn không muốn để kết nối mở.
  • Kiểm tra điều này trong sự cô lập.

Bước 2: Tạo một tác vụ tác vụ để gọi connectbot.

  • Tạo một tác vụ mới trong tác vụ.
  • Thêm một hành động. Từ Misc, chọn "Ý định hành động"
  • Các lĩnh vực là:
    • Hành động: android.intent.action.VIEW
    • Cát: Mặc định
    • Dữ liệu: url ssh, dưới dạng "ssh: // user @ host / # alias" (không có dấu ngoặc kép). Bí danh, người dùng và máy chủ lưu trữ ở đây phải khớp với bí danh bạn đã thiết lập trong Bước 1.
    • Mục tiêu: Hoạt động
    • Nhấp vào Kiểm tra. Connectbot sẽ mở và các lệnh của bạn sẽ thực thi trên máy chủ từ xa.

Bước 3: Sử dụng tác vụ này trong tác vụ theo cách thông thường.


Có cách nào để xác định kết nối theo chương trình, tức là thông qua Tasker và gọi ý định không?
Đặng Khoa

Tôi không chắc về điều đó. Tôi không nhớ chính xác làm thế nào tôi tìm thấy thông tin Ý định ở trên, nhưng về cơ bản nó là một URL ssh tiêu chuẩn. Có những công cụ có thể điều tra Ý định cho các ứng dụng, nhưng tôi chưa sử dụng chúng.
TREE

Tôi có thể thêm rằng nếu bạn xóa mặc định cho ConnectBot và cài đặt ứng dụng khách ssh khác (ví dụ BTEP) thì URL ssh sẽ nhắc sử dụng ứng dụng nào. Điều này nhấn mạnh rằng ở trên là một cái gì đó của một tiêu chuẩn, cả "XEM" và định dạng ssh. Điều duy nhất cụ thể đối với ConnectBot trong trường hợp này là #alias ở cuối.
TREE

5

Tôi biết đó là một chủ đề cũ nhưng muốn +1 nhận xét về BTEP

Tôi cũng đang sử dụng nhị phân ssh của BTEP mặc dù tôi chỉ gọi nó từ đường dẫn của nó thay vì liên kết nó /data/data/com.magicandroidapps.bettertermpro/bin/ssh root@192.168.1.1

hoặc tạo một cặp khóa và sử dụng xác thực khóa công khai /data/data/com.magicandroidapps.bettertermpro/bin/ssh -i /data/data/com.magicandroidapps.bettertermpro/home/.ssh/id_rsa -l root 192.1

Tôi sử dụng lệnh trên từ SL4A r4 trong các tập lệnh khác nhau và nó hoạt động tốt :)

trước khi tôi có thể làm điều này, tôi cần phải chmod a + x /data/data/com.magicandroidapps.bettertermpro/home/.ssh

một khi điều này được thực hiện và bạn sao lưu / khôi phục BTEP bằng TitaniumBackup, các quyền được giữ điều này có nghĩa là nếu bạn flash một rom mới, bạn có thể khôi phục các ứng dụng và tất cả các tập lệnh của bạn sẽ hoạt động trở lại


5

Tôi đã sử dụng thành công BotBrew Basil Experimental khi chạy Android 4.4. BotBrew Basil Experimental dựa trên apt-get vì vậy sau khi cài đặt APK và bootstraping tôi mới thực hiện apt-get install dropbeartrong shell root để cài đặt SSH client (và máy chủ).


3

Cài đặt trình giả lập thiết bị đầu cuối và quickssh. Quickssh cũng bao gồm dropbear. Không tốn tiền của bạn, điều này không nên bởi vì điều này cực kỳ đơn giản và nó dựa trên dropbear.

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

find -name ssh người dùng @ máy chủ

Vấn đề được giải quyết


1
Nhìn vào chương trình đó (sshdroid bởi amberker) tôi chỉ thấy một gui máy chủ ssh. Sau đó tôi đã thử trình giả lập thiết bị đầu cuối bằng jack, nhưng không thấy lệnh ssh nào được thêm vào. Và tìm kiếm quickssh, trong cửa hàng chơi, tôi không thấy nó. Tôi chỉ thấy quicksshd (bởi teslacoil) có một mức giá nhỏ và chắc chắn không phải là một khách hàng ssh.
barlop

2

Trình mô phỏng đầu cuối hoàn toàn hỗ trợ các tập lệnh *. Đừng tin những người nói nay. Bạn sẽ cần học kịch bản shell BASH, nếu bạn chưa quen với nó. Viết một kịch bản và lưu nó vào thẻ SD của bạn. Chạy nó với "tên tệp sh" từ Term.

Nếu bạn làm rõ những gì bạn muốn "kịch bản" phải làm với SSH, tôi có thể cung cấp cho bạn một đề xuất tốt hơn.

* (Đây thực sự là HĐH Android hỗ trợ các tập lệnh BASH, Trình mô phỏng đầu cuối chỉ cấp cho bạn quyền truy cập vào trình bao Android, do đó, việc tạo kịch bản là có thể)


Cập nhật câu hỏi. Tôi không muốn gọi script bằng ssh, tôi muốn gọi ssh từ script.
TREE

Chính xác những gì tôi đã nhận được tại. Một lần nữa, nếu bạn muốn cung cấp một số chi tiết cụ thể, tôi có thể hỗ trợ thêm.
ch3mi0n

2

Để gọi ssh từ một tập lệnh, tất cả những gì bạn cần làm là thiết lập các phím ssh. Có một triệu cách làm trên web, nhưng có một trang trên wiki Cyanogen có thể phù hợp hơn với người dùng Android. Khi bạn thiết lập các khóa, lệnh ssh chung của bạn sẽ trông giống như thế này: ssh -i / PATH / TO / KEY USER @ IP

Bạn có thể đặt nó trong một tập lệnh, chạy nó và bạn sẽ đăng nhập vào máy từ xa.

Nhưng đây là những gì tôi nghĩ bạn muốn làm. Để chỉ thực hiện một lệnh trên máy tính từ xa, chỉ cần thêm nó trong dấu ngoặc đơn: ssh -i / PATH / TO / KEY USER @ IP 'lệnh'

Điều đó thực thi lệnh trên máy từ xa mà không cần đăng nhập. Bạn có thể chạy các lệnh với các tùy chọn, đường ống, chuyển hướng, v.v., nhưng đôi khi tốt hơn là giữ cho chúng đơn giản. Ngoại trừ độ trễ, nó trông giống như thực thi (các) lệnh cục bộ và có thể được sử dụng tương tự.

Locale Execute có thể kén chọn về những lệnh nó sẽ chạy. Nếu nó không hoạt động, hãy thử đặt nó vào một tập lệnh và sử dụng Locale Execute để chạy tập lệnh.

Ngoài ra, tôi đã gặp vấn đề với nhị phân ssh trên điện thoại và thấy rằng việc chuyển nó từ / system / xbin và tạo liên kết tại / system / xbin / ssh sang nhị phân ssh Better Terminal Emulator đáng tin cậy hơn. Nhị phân BTEP có trong /data/data/com.magicandroidapps.bettertermpro/bin/ssh


2

Botbrew là một trình quản lý gói cho Android, giống như okpgBSD hoặc gần đây hơn, như APTcho Debian. Khá đẹp. Nó không có ứng dụng khách ssh như một gói, nhưng nó không quá khó để đặt vào nếu bạn đã sử dụng để xây dựng các gói của riêng mình. Và nó có thể hữu ích như một chuỗi công cụ khi bạn muốn xây dựng các thư viện và thư viện C / C ++ / etc khác.

Vì vậy, mặc dù đây không phải là một câu trả lời trực tiếp, nó có thể hữu ích cho một số người biết.


Tốt đẹp. Nó cũng có trong cửa hàng play: play.google.com/store/apps/details?id=com.inportb.botbrew
TREE

Đáng buồn thay, có vẻ như botbrew.com ngừng hoạt động, chặn cài đặt.
TREE

Điều đó thật kỳ lạ, vì tôi nghĩ các gói được lưu trữ trên github.
Ehtesh Choudhury


-1

AndFTP có thể kết nối qua bất kỳ cổng nào bạn định cấu hình nên tôi chắc chắn rằng nó có thể kết nối qua SSH. Nhưng tôi không chắc việc sử dụng tập lệnh của nó dễ đến mức nào. Tôi sử dụng ứng dụng này mọi lúc cho máy chủ lưu trữ của mình và nó hoạt động rất tốt.

Không chắc chắn nếu bạn có thể SSH với Trình mô phỏng đầu cuối, nhưng bạn cũng có thể thử nó. Tôi sử dụng ứng dụng đó thường xuyên để làm những việc mà tôi quá lười biếng để làm với ADB.


AndFTP là tuyệt vời. Trình mô phỏng đầu cuối có phải là kịch bản không?
TREE

Tôi không nghĩ vậy, không phải không có ứng dụng khác. Như bạn đã đề cập ở trên, Tasker có lẽ là cách để đi với điều này.
Web

-1

Sử dụng plugin ssh cho Tasker? Đừng cần root hay ssh nhị phân.


7
Tên một? Câu trả lời của bạn có thể hữu ích sau đó :)
Izzy

Có "SSH Plugin trả phí" cho Tasker, nhưng nó đã cũ và không còn được phát triển nữa. Việc xử lý lỗi gần như không tồn tại, vì vậy nó chỉ là ssh và không nhiều hơn nữa. Nhưng nó đã có tác dụng.
franc

-3

Nếu ứng dụng khách ssh đơn giản thú vị với bạn, thì tôi đã tạo trong thư viện Android-NDK Bionic drobpear-ssh-client-only. ftp://ftp.simtreas.ru/pub/my/dropbear/dropbear-ssh-only.tgz sference và ftp://ftp.simtreas.ru/pub/my/dropbear/ssh nhị phân


Đây không phải là một câu trả lời chung chung đáng buồn và sẽ chỉ hoạt động trên một trong x86 / ARM / MIPS, có thể là ARM. Ngoài ra, nội dung được liên kết có thể sẽ biến mất vào một lúc nào đó. Hầu hết các ROM tùy chỉnh đã bao gồm một máy khách ssh cmdline hoạt động thuần túy.
ce4
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.