1. 程式人生 > >Android配置ssh服務

Android配置ssh服務

1.下載dropbear

  將下載的dropbear資料夾放在external資料夾下,原始碼地址:https://pan.baidu.com/s/1kV9gmEj 提取碼: 4mk6。

  也可在github上下載:https://github.com/android,點開網頁後搜尋dropbear就可以了,不過這個需要修改Android.mk檔案和svr-authpasswd.c檔案才能用。
  •  

2.編譯dropbear

在android原始碼根目錄下執行:. build/envsetup.sh(點後面有空格)

配置資訊:choosecombo(無空格)

    Build type choices are:
      1. release
      2. debug
    Which would you like? [1] 1
    Which product would you like? [generic] xxx(輸入自己的產品名)
    Variant choices are:
      1. user
      2. userdebug
      3. eng
    Which would you like? [eng] 1

編譯:mmm external/dropbear
  •  

3.安裝dropbear

前提條件:Android機器root
    電腦客戶端安裝secureCRT

  根據我提供的原始碼,會在out/target/product/xxx(你的產品名)/system/xbin目錄下生成五個檔案:dropbeaer、dropbearkey、scp、sftp-server、ssh。
  •  
   主機:$ adb connect IP(要配置的Android機器IP) 
   主機:$ adb shell
   android:/# mount -o remount,rw /system
   android:/# mkdir /system/etc/dropbear
   android:/# mkdir /system/etc/dropbear/.ssh
   android:/# chmod 755 /system/etc/dropbear
   android:/# chmod 755 /system/etc/dropbear/.ssh
  •  
  將system設定為可讀寫後,在out/target/product/xxx(你的產品名)/system/xbin目錄下將這五個檔案push到/system/xbin目錄下(一定要system可讀寫才行)。
  •  
    主機:~/android/out/target/product/xxx/system/xbin$ adb push dropbear /system/xbin
    主機:~/android/out/target/product/xxx/system/xbin$ adb push dropbearkey /system/xbin
    主機:~/android/out/target/product/xxx/system/xbin$ adb push scp /system/xbin
    主機:~/android/out/target/product/xxx/system/xbin$ adb push sftp-server /system/xbin
    主機:~/android/out/target/product/xxx/system/xbin$ adb push ssh /system/xbin
    android:/# chmod 755 /system/xbin/dropbear*
    android:/# dropbearkey -t dss -f /system/etc/dropbear/dropbear_dss_host_key
    android:/# dropbearkey -t rsa -f /system/etc/dropbear/dropbear_rsa_host_key
  •  

4.密碼登入

  密碼登入到這一步就可以了,重啟機器,然後輸入dropbear -E -F -v,就可以通過客戶端登入了(埠號在dropbear的options.h檔案中,密碼在svr-authpasswd.c裡,使用者名稱預設root)。
  •  

5.金鑰登入

  金鑰登入需要用secureCRT建立金鑰對,tools -> create public key ->選擇DSA -> passphrase不填 -> keylenth不管 -> 選擇openssh -> finish,會生成identity和identity.pub兩個檔案。
  •  
    主機:$ adb push identity.pub /system/etc/dropbear/.ssh
    android:/# cd /system/etc/dropbear/.ssh/
    android:/# mv identity.pub authorized_keys
    android:/# chmod 755 authorized_keys
    android:/# dropbear -E -F -v -s
  •  
  客戶端可以連線了,不需要密碼,選擇identity檔案就可以了。