Dropbear 접속 에러....
빌드해서 타겟 보드에 올리는데 까지는 성공했습니다.
dropbear_dss_host_key 키와 dropbear_rsa_host_key 도 정상적으로 생성 되었습니다.
dropbear -F -E 로 dropbear도 실행하고
접속 시도하면
패스워드 물어보고 패스워드 입력하면
Permission denied, please try again.
나오다가 3회 초과해서
Permission denied (publickey,password).
나옵니다.
뭐가 잘못된건지....;;
타겟 서버쪽 작업은
adb push dbclient /system/etc/dropbear/dbclient
adb push dropbear /system/etc/dropbear/dropbear
adb push dropbearconvert /system/etc/dropbear/dropbearconvert
adb push dropbearkey /system/etc/dropbear/dropbearkey
adb shell chmod 755 /system/etc/dropbear/dbclient
adb shell chmod 755 /system/etc/dropbear/dropbear
adb shell chmod 755 /system/etc/dropbear/dropbearconvert
adb shell chmod 755 /system/etc/dropbear/dropbearkey
mount -o remount,rw /dev/mtdblock/4 /system
cp /etc/dropbear/dropbear /system/xbin
cp /etc/dropbear/dropbearkey /system/xbin
rm /etc/dropbear/dropbear*
dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key
mkdir /data/dropbear
mkdir /data/dropbear/.ssh
chmod 744 /data/dropbear
chmod 700 /data/dropbear/.ssh
echo "/system/bin/sh" >>/etc/shells
이렇게 했습니다.
타겟 보드쪽에 올라간 커널 문제일 가능성이 있을듯 하네요...
dropbear 를 x86으로 다시 컴파일해서 ubuntu 10.10 에 올려서 접속 테스트해보니깐 잘되네요...
자답...
문제는 getpwname() 이 정상 작동하지 않아 발생하는 문제 였습니다.
경량화된 Embedded Linux 에서는 libnss_file 라이브러리가 없어서
/etc/passwd, /etc/shadow, /etc/group 같은 파일을 db화 하지 못한다고 합니다.
(http://blog.naver.com/sicriops?Redirect=Log&logNo=110128587931)
그래서 /system/lib 에다 libnss_file 을 넣어줘도 안돼더군요... 그래서 열심히 구글링해서 다음 자료를 찾았습니다.
(http://www.kandroid.org/board/board.php?board=AndroidApp&command=body&no=73)
저는 이부분에서 getpwuid() 부분과 getpwnam() 부분만 추가해 줬습니다. 나머지는 뭐하는기능인지 잘 몰라서....;; 좀더 공부해 봐야죠...
그리고나서 컴파일해서 올려줬더니... root 로 로그인되었습니다. 입력한 사용자로 로그인하게 하려면 passwd 파일과 group 파일을 읽어오도록
수정해야 할거같습니다.
어쨋든 해결의 실마리가 보이니 기쁘네요 ㅎㅎ
댓글 달기