Android용 OpenSSH 클라이언트 또는 Dropbear 컴파일

Android용 OpenSSH 클라이언트 또는 Dropbear 컴파일

흥미로운 질문이 있습니다.

내 Android 터미널 에뮬레이터에서 개인 SSH 키()를 사용하고 싶습니다 jackpal.androidterm. 제 생각에는합리적으로 안전한 위치에 개인 키를 설치하십시오.그리고 매우 간단한 방법으로 키에 액세스할 수 있습니다. 나는 이것을하고 싶다 :

ssh theotherserver

파일은 ~/.ssh/config다음과 같습니다.

Host theotherserver
    User mycustomuser

그리고 개인 키를 읽고 있습니다 ~/.ssh/id_rsa.

문제는 Dropbear가 기본적으로 /data/.ssh(적어도 CyanogenMod 11에서) 보이고 해당 폴더가 에 속해야 한다는 것입니다 . "응용 프로그램 사용자"(예: )와 작업할 수 있도록 root디렉터리와 하위 디렉터리에서 chown및를 수행했습니다. chmod작동 u0_a100하지만 재부팅하면 권한이 지워집니다. 따라서 그럴 필요가 없습니다.

제가 정말로 원하는 것은 구성 파일을 통해 Dropbear에게 홈 디렉토리가 어디에 있는지 알려주는 것입니다 /data/data/jackpal.androidterm/app_HOME/.ssh. 왜냐하면 이 디렉토리는 "확실히" "애플리케이션 사용자"가 소유하게 되고 권한 문제가 발생하지 않기 때문입니다. 또 다른 이점은 이 디렉토리가 애플리케이션 전용이므로 다른 사용자가 이 디렉토리를 읽을 수 없다는 것입니다. (dir 권한은 입니다 .) 기본 디렉터리의 위치를 drwxrwx--x​​변경하기 위해 구성 파일로 Dropbear를 구성하는 방법이 있나요 ? .ssh그냥 사용하면 정말 좋겠지만 $HOME그렇지 않은 것 같습니다.

이것이 가능하지 않은 경우 (간단해 보이는) 목표를 달성하기 위해 Android용 OpenSSH 클라이언트 또는 Dropbear를 어떻게 컴파일할 수 있습니까?

답변1

질문 의견에서 @xx4h가 언급했듯이 해결책은 /data/.ssh다음에 심볼릭 링크하는 것입니다 /data/data/jackpal.androidterm/app_HOME/.ssh.

# ln -s /data/data/jackpal.androidterm/app_HOME/.ssh /data/.ssh

이로 인해 문제가 해결되었으며 재부팅 후에도 동일하게 유지되었습니다. SSH 구성 수정을 용이하게 하기 위해 환경 변수를 내보냅니다.

SSH_HOME="/data/data/jackpal.androidterm/app_HOME/.ssh"

아니면 거기에 다른 심볼릭 링크를 추가하세요.

관련 정보