
在我的 Android 手机上的 SimpleSSHD 服务器上设置公钥身份验证时,通过http://www.galexander.org/software/simplesshd/
快速开始
- 安装 SimpleSSHD。
在任何要连接到 Android 设备的计算机上,将端口设置为 2222。使用 OpenSSH,可以通过将以下行放入 ~/.ssh/config 来完成此操作:
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 可能还不够。