루팅 된 안드로이드 폰에 사용 가능한 명령 행 SSH 클라이언트가 있습니까?


23

물론 ConnectBot이 있지만 스크립팅 할 수있는 것을 찾고 있습니다.

편집 : 여기에서 명확히하기 위해 터미널에서 스크립트를 실행하는 데 관심이 없습니다 . 내가하고 싶은 일은 자동 / 예약 방식으로 SSH 명령을 실행하는 것입니다. Tasker와 Locale Execute는 cron과 동일 하며 스크립트 에서 실행하려면 'ssh'명령 만 있으면 됩니다.


스크립팅을 위해, 내가 테스 커를 사용하고자하고있어, 직접 또는 로케일을 통해 플러그인 실행 appbrain.com/app/de.elmicha.app.LocaleExecute
— TREE

답변:


12

Google 에서 터미널 에뮬레이터 를 설치할 수 있습니다 . 또는 Better Terminal Emulator Pro가 있습니다. 루트가 아닌 전화로 터미널 에뮬레이터를 사용해 보았지만 제대로 작동하는 것 같습니다.

Better Terminal Emulator Pro에는 dropbear ssh client가 포함되어 있으며 명령 행 또는 실행기를 통해 시작할 수 있습니다. 저자의 추가 정보 .


터미널 에뮬레이터는 내 장치와 다른 많은 사람들의 장치에서 일관되게 강제 종료됩니다. 또한 Tasker 또는 명령 줄에서 실행할 수 있다는 표시가 없습니다.
— TREE

Better Terminal Emulator Pro에는 dropbear 클라이언트 바이너리가 포함되어 있습니다. 해당 정보를 포함하도록 답변을 업데이트하면 수락하겠습니다.
— TREE

1
이상적으로는 암호화와 관련하여 Better Terminal Emulator Pro와 같은 폐쇄 형 소스 소프트웨어를 사용해서는 안됩니다. Cyanogen 사람들의 지침을 사용하여 소스에서 직접 dropbear ssh를 빌드하는 것이 좋습니다. 아마 BTEP가 그랬을 것입니다.
— Jeff Burdges

1
자체 dropbear ssh 클라이언트 사본을 설치하는 다양한 오픈 소스 안드로이드 응용 프로그램이 있으며 단순히 symlink를 추가하면 Google의 터미널 에뮬레이터에서 작동합니다.
— Jeff Burdges

google androlib.com/android.application.com-android-term-jpAz.aspx의 터미널 에뮬레이터에 대한 링크 는 "이 응용 프로그램은 Android 마켓에서 제거 된 것 같습니다"라고 Google Play 스토어에서 Google에서 '터미널 에뮬레이터'를 볼 수 없습니다 . 구글 플레이 스토어의 첫 번째 결과는 jack palevich의 Android 터미널 에뮬레이터이지만 ssh는 없습니다.
— barlop

17

내 원래의 질문은 ssh 바이너리에 관한 것이며 그에 대한 답변이 있으므로 해당 답변을 수락합니다. 그러나 언젠가 누군가에게 흥미로울 수있는 다른 방법이 있습니다.

Tasker + ConnectBot을 사용하여 일정에 따라 임의의 원격 (또는 로컬, 로컬 실행이 더 좋습니다) 명령을 실행할 수 있습니다.

1 단계 : ConnectBot에서 연결을 설정합니다.

  • 별명이 다른 한 ConnectBot에서 중복 연결을 가질 수 있습니다. 두 번째를 만들려면 먼저 user @ host에서 떨어져 이름을 바꿔야합니다. 길게 누르고 "Edit Host"를 선택하여 이러한 변경을 수행하십시오.
  • 자동화를 위해이 키를 사용할 수 있도록 비밀번호없이 ssh 키를 설정하려고합니다.
  • 연결이 실제로 작동하면 "로그인 자동화"를 사용하여 실행하려는 원격 명령을 추가 할 수 있습니다. 마지막 명령 뒤에 enter가 전송되도록 끝에 빈 줄이 있는지 확인하십시오. enter 또는;를 사용하십시오. 명령을 분리합니다. 나는 "echo hello"와 같은 것을 테스트로 사용하는 것이 좋으며 연결을 열어두고 싶지 않은 경우 끝에 "종료"하는 것이 좋습니다.
  • 이것을 독립적으로 테스트하십시오.

2 단계 : connectbot을 호출하는 Tasker Task를 만듭니다.

  • Tasker에서 새 작업을 만듭니다.
  • 활동을 추가하십시오. 기타에서 "액션 의도"를 선택하십시오.
  • 필드는 다음과 같습니다.
    • 액션 : android.intent.action.VIEW
    • 고양이 : 기본
    • 데이터 : ssh url, "ssh : // user @ host / # alias"형식 (따옴표 제외). 여기서 별명, 사용자 및 호스트 는 1 단계에서 설정 한 별명과 일치 해야합니다 .
    • 대상 : 활동
    • 테스트를 클릭하십시오. Connectbot이 열리고 명령이 원격 호스트에서 실행되어야합니다.

3 단계 : 일반적으로 Tasker에서이 작업을 사용하십시오.


프로그래밍 방식으로, 예를 들어 Tasker 및 호출 의도를 통해 연결을 정의하는 방법이 있습니까?
— Dang Khoa

나는 그것에 대해 확실하지 않다. 위의 의도 정보를 어떻게 찾았는지 정확하게 기억하지 못하지만 기본적으로 표준 ssh URL입니다. 앱의 의도를 조사 할 수있는 도구가 있지만 사용하지는 않았습니다.
— TREE

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

또는 한 쌍의 키를 생성하고 공개 키 인증을 사용하십시오.

다양한 스크립트에서 SL4A r4의 위 명령을 사용하고 정상적으로 작동합니다. :)

이 작업을 수행하기 전에 a + x /data/data/com.magicandroidapps.bettertermpro/home/.ssh를 chmod해야했습니다.

이 작업이 완료되고 TitaniumBackup으로 BTEP를 백업 / 복원하면 권한이 유지됩니다. 즉, 새로운 ROM을 플래시하면 앱을 복원 할 수 있으며 모든 스크립트가 다시 작동합니다.


5

Android 4.4를 실행할 때 BotBrew Basil Experimental 을 성공적으로 사용 했습니다 . BotBrew Basil Experimental은 apt-get을 기반으로하므로 APK 및 부트 스트랩 설치 후 apt-get install dropbearSSH 클라이언트 (및 서버)를 설치하기 위해 루트 쉘에서 수행했습니다.


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 명령이 추가되지 않았습니다. 그리고 playsstore에서 quickssh를 찾지 못했습니다. 나는 작은 가격이 있고 ssh 클라이언트가 아닌 quicksshd (testesilo) 만 볼 수 있습니다.
— barlop

2

터미널 에뮬레이터는 스크립트 *를 절대적으로 지원합니다. 혐오 자들을 믿지 마십시오. 아직 익숙하지 않은 경우 BASH 셸 스크립팅을 배워야합니다. 스크립트를 작성하여 SD 카드에 저장하십시오. Term에서 "sh filename"으로 실행하십시오.

SSH와 관련하여 "스크립트"로 무엇을하고 싶은지 명확히하면 더 나은 권장 사항을 줄 수 있습니다.

* (실제로 BASH 스크립트를 지원하는 Android OS이므로 터미널 에뮬레이터는 Android 쉘에 대한 액세스 권한 만 부여하므로 본질적으로 스크립팅이 가능합니다)


질문을 업데이트했습니다. ssh로 스크립트를 호출하고 싶지 않습니다. 스크립트에서 ssh를 호출하고 싶습니다.
— TREE

내가 뭘했는지 정확히 다시 말하지만, 당신이 몇 가지 구체적인 내용을 원한다면 나는 더 많은 도움을 줄 수 있습니다.
— ch3mi0n

2

스크립트에서 ssh를 호출하려면 ssh 키를 설정하기 만하면됩니다. 웹에는 백만 가지 방법이 있지만 Cyanogen 위키에는 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 는 okpgBSD 용 또는 최근 APT데비안 용과 같은 Android 용 패키지 관리자입니다 . 꽤 좋은. 패키지로 ssh 클라이언트가 없지만 자체 패키지를 작성하는 데 익숙해지면 너무 어렵지 않습니다. 또한 다른 C / C ++ / etc 바이너리 및 라이브러리를 빌드하려는 경우 툴체인으로 유용 할 수 있습니다.

따라서 이것이 직접적인 대답은 아니지만 일부 사람들이 아는 것이 유용 할 수 있습니다.


좋은. 그것은 Play 스토어도있다 : play.google.com/store/apps/details?id=com.inportb.botbrew
— TREE

안타깝게도 botbrew.com이 다운되어 설치를 차단합니다.
— TREE

패키지가 github에 호스팅되어 있다고 생각하기 때문에 이상합니다.
— Ehtesh Choudhury


-1

AndFTP는 구성하는 모든 포트를 통해 연결할 수 있으므로 SSH를 통해 연결할 수 있습니다. 그러나 사용법을 스크립팅하는 것이 얼마나 쉬운 지 잘 모르겠습니다. 호스팅 서버에 항상 앱을 직접 사용하고 훌륭하게 작동합니다.

터미널 에뮬레이터로 SSH를 사용할 수 있는지 확실하지 않지만 시도해 볼 수도 있습니다. 나는 ADB와 관련하여 너무 게으른 일을하기 위해 그 응용 프로그램을 자주 사용합니다.


AndFTP는 훌륭합니다. 터미널 에뮬레이터는 스크립트 가능합니까?
— TREE

다른 앱이 없으면 그렇게 생각하지 않습니다. 위에서 언급했듯이 Tasker가 아마도이 방법 일 것입니다.
— 웹

-1

Tasker에 ssh 플러그인을 사용 하시겠습니까? 그러면 루트 또는 ssh 바이너리가 필요하지 않습니다.


7
이름 하나? 귀하의 답변은 다음에 도움이 될 것입니다. :)
— Izzy

Tasker 용 "SSH Plugin Paid"가 있지만, 오래되어 더 이상 개발되지 않았습니다. 오류 처리는 거의 존재하지 않으므로 단지 ssh이며 그 이상은 아닙니다. 그러나 작동합니다.
— franc

-3

간단한 ssh 클라이언트가 흥미 롭다면 Android-NDK Bionic 라이브러리 drobpear-ssh-client-only로 만들었습니다. ftp://ftp.simtreas.ru/pub/my/dropbear/dropbear-ssh-only.tgz 소스 및 ftp://ftp.simtreas.ru/pub/my/dropbear/ssh 바이너리


이것은 슬프게도 일반적인 대답이 아니며 x86 / ARM / MIPS 중 하나, 아마도 ARM에서만 작동합니다. 또한 링크 된 내용은 아마도 언젠가는 사라질 것입니다. 대부분의 사용자 정의 ROM에는 이미 작동중인 순수 cmdline ssh 클라이언트가 포함되어 있습니다.
— ce4
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.