
在我的 Android 手機上的 SimpleSSHD 伺服器上設定公鑰身份驗證時,透過http://www.galexander.org/software/simplesshd/
快速開始
- 安裝 SimpleSSHD。
在任何要連接到 Android 裝置的電腦上,將連接埠設定為 2222。
Host myphone Port 2222
啟動 SimpleSSHD,並在“設定”中啟用“啟動時啟動”,然後首次手動啟動它。
- 在主目錄中建立
authorized_keys
(不要使用ssh-copy-id
)- 可選擇製作 .profile
如何找到myphone
我的 Android 手機的主機名稱?
我的手機有時會被分配不同的 IP 位址。例如,我可以將筆記型電腦和手機移動到不同的區域網,而我的手機可以重新連接到同一個區域網路。
我的筆記型電腦的一些嘗試:
第一次嘗試(失敗):
$ ssh -p 2222 192.168.1.87
user@C6730:/data/data/org.galexander.sshd/files $ hostname
sh: hostname: not found
第二次嘗試(失敗):
user@C6730:/data/data/org.galexander.sshd/files $ ^D
Connection to 192.168.1.87 closed.
t@ocean:/home/t$ ssh -p 2222 C6730
ssh: Could not resolve hostname c6730: No address associated with hostname
第三次嘗試(靠猜測運氣成功):
我透過 尋找區域網路中的所有主機 sudo nmap -sP 192.168.1.0/24
,並猜測輸出中哪個主機最有可能是電話。它類似於android-c0f659b6548c28b2
(不是真正的主機名稱)
在某些情況下會
android-c0f659b6548c28b2
發生變化,例如,當手機重新啟動、移動到不同的 LAN、分配不同的 IP 位址時,...?有人知道是什麼
c0f659b6548c28b2
意思嗎?它不是手機的 Mac 位址。我可以自訂Android手機的主機名稱嗎?
謝謝。
答案1
在某些情況下會
android-c0f659b6548c28b2
發生變化,例如,當手機重新啟動、移動到不同的 LAN、分配不同的 IP 位址時,...?
只有當您將手機恢復原廠設定時,它才會發生變化(這也可能是解鎖其引導程式的副作用)。
在命令列中,可以透過命令進行查詢getprop net.hostname
。
下面的字串android-
是ANDROID_ID
從Settings.Secure
,即隨機地當您第一次使用手機時生成並儲存在/data
分區[1]中:
- 在舊版本中,在/data/data/com.android.providers.settings/databases/settings.db
sqlite3 資料庫中。
- 在較新的版本中,在/data/system/users/USERID/settings_secure.xml
文件中;請注意,USERID
與 unix uids 無關。
甚至是較新的版本(> 8.0) 使ANDROID_ID
設備/使用者/應用程式簽署金鑰組合具有唯一性,並完全省去net.hostname
dhcp 用戶端不再使用的 。
有人知道c0f659b6548c28b2 是什麼意思?它不是手機的 Mac 位址。
它應該是隨機的。
我可以自訂Android手機的主機名稱嗎?
並非沒有 root 權限 [2],在這種情況下,setprop net.hostname preferred_hostname
具有正確的權限 [3] 就可以做到這一點。
[1] 恢復出廠設定後會被清除。
[2] 有些裝置在「設定/開發者選項」下有一個選項,但我無法在我的任何裝置上找到它。
[3] 較新版本的 Android 放棄了功能並廣泛使用 SELinux,因此僅僅成為 root 可能還不夠。