安卓下使用 dropbear 开启SSH And arm 下的busybox
安卓系統 4.2.2? 硬件是榮耀立方
只對電視盒子部分進行了操作,沒有修改路由部分
先安裝<超級終端><RE文件管理器>(華為的應用市場里有),安裝 <360超級root>(很坑的一個玩意。如果可以用其他軟件ROOT,不建議用這個)
? ? ? ? 下載 arm 版的 dropbear,可以自己編譯,也可以在下面地址下載
鏈接: https://pan.baidu.com/s/1XhIU9DQ1OyXWFR_CKwf_XA 密碼: vkfd
? ? ?PS:該版本的dropbear 啟動之后,任意用戶名,任意密碼都都可以登陸,不知道為什么,最后只能啟用了證書登錄
? ? 壓縮包內文件包括
─ ssh├── bbc.sh├── busybox├── dropbear├── dropbearkey├── keys│?? ├── authorized_keys│?? └── g1.ppk├── mot_boot_mode├── scp├── ssh└── ssh.sh
?
?
? ? 文件夾 復制到U盤或者SD卡(我直接通過smb 放到立方的根目錄了)插到設備上
?打開超級終端,在命令行下直接 輸入 “su” 如果ROOT沒問題的話,會然后對超級終端授權
然后將文件復制到 /data/sshtmp 目錄
###注意:個人環境不同,命令不同。注意命令路徑#### cp -r /mnt/sda/sda1/ssh /data/sshtmp #文件復制到 /data/sshtmp 目錄 cd /data/sshtmp #進入到文件目錄 chmod 755 * #設置文件權限 也可以使用 'chmod +x *' 賦予運行權限 cp busybox /system/xbin #復制busybox 到PATH目錄,以下同理 cp dropbear /system/xbin cp dropbearkey /system/xbin cp scp /system/xbin cp ssh /system/xbin
?
?需要的文件復制完畢,做常用命令的鏈接。PS:對于新手,請確認你知道在做什么。否則,請先看完全文在做操作,尤其是坑的部分
ln -s /system/xbin/busybox [ ln -s /system/xbin/busybox cat ln -s /system/xbin/busybox chmod ln -s /system/xbin/busybox chown ln -s /system/xbin/busybox cmp ln -s /system/xbin/busybox cp ln -s /system/xbin/busybox date ln -s /system/xbin/busybox dd ln -s /system/xbin/busybox df ln -s /system/xbin/busybox dmesg ln -s /system/xbin/busybox ifconfig ln -s /system/xbin/busybox insmod ln -s /system/xbin/busybox kill ln -s /system/xbin/busybox lsmod ln -s /system/xbin/busybox md5sum ln -s /system/xbin/busybox mkdir ln -s /system/xbin/busybox mount ln -s /system/xbin/busybox mv ln -s /system/xbin/busybox netstat ln -s /system/xbin/busybox printenv ln -s /system/xbin/busybox ps ln -s /system/xbin/busybox renice ln -s /system/xbin/busybox rm ln -s /system/xbin/busybox rmdir ln -s /system/xbin/busybox rmmod ln -s /system/xbin/busybox route ln -s /system/xbin/busybox setconsole ln -s /system/xbin/busybox sleep ln -s /system/xbin/busybox sync ln -s /system/xbin/busybox test ln -s /system/xbin/busybox top ln -s /system/xbin/busybox umount ln -s /system/xbin/busybox viBusybox 常用命令的鏈接
?
建立?dropbear運行環境
1 mkdir /data/dropbear #建立dropbear主目錄 2 chmod 644 /data/dropbear #設置目錄的權限 3 mkdir /data/dropbear/.ssh #建立ssh的配置目錄 4 chmod 644 /data/dropbear/.ssh #設置目錄權限 5 dropbearkey -t rsa -f /data/dropbear/dropbear_rsa_host_key #生成密鑰 6 dropbearkey -t dss -f /data/dropbear/dropbear_dss_host_key #生成密鑰 7 echo >>/data/dropbear/.profile "PATH=/usr/bin:/usr/sbin:/bin:/sbin:/system/sbin:/system/bin:/system/xbin:/system/xbin/bb:/data/local/bin" #建立用的環境變量 8 echo >>/data/dropbear/.profile "export PATH" #建立用的環境變量 9 ln -s /data/dropbear /etc/dropbear #做目錄快捷方式
然后運行命令
dropbear -v
可以用ssh 直接到該設備了。PS:我這里用戶名和密碼貌似隨便輸入就能登陸
?
設置dropbear 證書登錄
cp ./keys/authorized_keys /data/dropbear/.ssh #將公鑰復制到ssh配置目錄 chmod 600 /data/dropbear/.ssh/authorized_keys #設置權限否則不能用
? ? 這個證書是通過puttygen 或者SecureCRT 生成。
? ? 生成步驟如下:
? ? ??
? ? ??
?
? ? ? ? 具體生成方式以及使用putty 或者SecureCRT登陸搜一下有很多
?
自啟動設置。文件夾中 mot_boot_mode? 可用于自啟動 命令
? ? ?
mv /system/bin/mot_boot_mode /system/bin/mot_boot_mode.bin #重命名原始腳本
cp mot_boot_mode /system/bin #將該腳本復制執行目錄 ? ? ?這種方法在我這設備上(榮耀立方)無效
? ? ?我是通過修改 '/system/bin/start.webserver.sh' 文件來實現開機自啟動
?
========================================
以下是遇到的問題,和一些坑
=======================================
問題一:輸入命令??chmod 755 *? ?或 chmod +x * 藍屏重啟。
? ? ? 查看 /systme/bin/chmod 命令,指向的是 toolbox 程序。解決方法是用busybox 提供的chmod 程序。但因為這個時候?busybox 還沒有運行權限,解決方法兩種如下,
? ? ? 方法一,
? ? ? ? ? ?安裝RE文件管理器,直接用RE設置busybox 的運行權限,
? ? ? ? ? ?然后運行 ‘ /system/xbin/busybox rm /system/bin/chmod? ’ 刪除原來的chmod程序
? ? ? ? ? ?繼續運行‘/system/xbin/busybox ln -s /system/xbin/busybox /system/bin/chmod’ 重新建立chmod指向
? ? ?方法二,
? ? ? ? ? ?使用linux系統,將U盤格式化為 ext4 (貌似fat,ntfs 不支持linux的權限屬性),然后在Linux系統下將busybox 設置chmod 755 * ,然后U盤插到設備上
? ? ? ? ? ?然后運行 ‘ busybox rm /system/bin/chmod? ’ 刪除原來的chmod程序
? ? ? ? ? ?繼續運行‘ busybox ln -s?/system/xbin/busybox /system/bin/chmod’ 重新建立chmod指向
問題二:
? ? ?同上面類似,/system/bin/ 下面原有的命令可能鏈接到其他的程序,或者是鏈接到精簡版的busybox。有需要,可以重新關聯。
? ? ? ? ? ?建議先測試復制進去的busybox與系統的兼容新,然后將原來的刪除,重新關聯。查看busybox里包含的命令,直接運行就可以查看,如下圖
原系統自帶的 閹割版busybox
? ? ? ? ?
標準的,busybox
? ? ? ? ?
?
問題三,
? ? ? ?修改/system/bin 等文件? 會 提示 'Read-only file system'只讀 文件系統?
? ? ? ? ? ?解決方法,運行? mount命令 (如果 mount運行不了,參照上面解決方式,用busybox 里面的mount )會發現文件系統 屬性為 ro 如下圖
? ? ? ? ? ? ? ? ??
? 可以看到 跟目錄‘/’ 與 ‘/system’ 目錄都是只讀屬性 ,需要重新掛載,命令如下??
1 mount -o remount rootfs / #重新掛在跟目錄 2 mount -o remount /dev/block/platform/hi_mci.1/by-name/system /system #重新掛載系統目錄
? ? ? ? ? ? ? ? ?在執行 mount命令查看? 已經修改為 可讀寫模式
? ? ? ? ? ? ? ? ??
?
?
?問題四,文件夾內文件說明:
? ? ? ?keys文件內放置的是 自動登陸的公鑰,和putty 上面用的私鑰。linux ssh 無法使用
? ? ? ?bbc.sh 是建立常用命令鏈接的。不建議直接運行。因為有些命令已經存在,我開始直接運行的,并不會覆蓋原有鏈接,不知道為什么
? ? ? ?ssh.sh 是用到的一些命令。
?
問題五: 有時候可能會建立linux 用戶環境下面給出我用到的命令
1 echo "root:x:0:0::/root:/system/bin/sh" > /etc/passwd 2 echo "root::14531:0:99999:7:::" > /etc/shadow 3 echo "root:x:0:" > /etc/group 4 echo "root:!::" > /etc/gshadow 5 echo "/system/bin/sh" > /etc/shells 6 echo "PATH=\"/usr/bin:/usr/sbin:/bin:/sbin:/system/sbin:/system/bin:/system/xbin:/data/local/bin\"" > /etc/profile 7 echo "export PATH" >> /etc/profile
?
======================問題結束==============================
?
操作完成,測試SSH登陸已經自啟動無問題后。可以刪除 超級終端, re文件管理器,以及 360超級root (超級難刪。。)
轉載于:https://www.cnblogs.com/GYbin/p/8658751.html
總結
以上是生活随笔為你收集整理的安卓下使用 dropbear 开启SSH And arm 下的busybox的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 洱海私人游艇在哪里坐
- 下一篇: 理解GRUB2工作原理及配置选项与方法