我正在尝试在 Android 手机上使用 SimpleSSHD (Dropbear),它会在手机上创建 SSH 服务器。我可以使用 Putty 连接到手机,但我需要 Dropbear 创建的一次性密码。
我正在尝试编写一个 Python 脚本来从我的 Raspberry Pi 运行以连接到我的 Android SSH 服务器,但需要解决一次性密码要求。
我发现我可以通过使用 来绕过密码要求authorized_keys
。我遇到麻烦的地方是公钥到底是什么以及把它放在哪里。
在我的 RaspberryPi 上,我成功创建了一个~/.ssh/id_rsa.pub
如下所示的文件
ssh-rsa AAAABSh[huge long string of things]asdfg pi@raspberrypi
然后在 Pi 上,我执行了以下命令:
touch ~/.ssh/authorized_keys
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
但是,Android 上的 Dropbear 仍然说no authorized keys, generating single-use password
我需要从我的公钥中删除ssh-rsa
和吗?pi@raspberrypi
这就是 Dropbear 看不到“授权密钥”的原因吗?
答案1
授权密钥需要位于 android 上的 dropbear 中(访问器不能自行授权。)
dropbear 应该有一个authorized_keys 文件,您必须将其附加到该文件中。它会告诉 dropbear,允许访问该密钥的私有部分的所有者。
如何
我从来没有用过dropbear。但如果可以的话,请执行以下操作:
mkdir ~/.ssh/authorized_keys.d
#在dropbear中
scp ~/.ssh/id_rsa.pub «my_username@my_android»:~/.ssh/authorized_keys.d/id_rsa.pub
# 在圆周率中
cd ~/.ssh; cat authorized_keys.d/*.pub > authorized_keys
#在dropbear中
文件格式
我需要从我的公钥中删除 ssh-rsa 和 pi@raspberrypi 吗?这就是 Dropbear 看不到“授权密钥”的原因吗?
不,不要删除ssh-rsa
,因为这会破坏文件。请勿删除pi@raspberrypi
评论部分的此内容,该内容将被忽略。当您要移除钥匙时,它非常有用,因为您可以看到它们来自哪里。
答案2
无需删除您只需将authorized_keys文件放在您的android /etc/dropbear文件夹中(或者如果没有 /etc/dropbear 则放在另一个文件 /opt/etc/dropbear 中)。
之后做。
chmod 0600 /etc/dropbear/authorized_keys