Answers:
它并不是完全无缝的,但是ssh
busybox提供的二进制文件(至少是我的)支持该-i
标志,因此您可以将密钥放在任何需要的地方并使用它:
ssh -i /path/to/key_file joeuser@somehost.com
与之相关的手册页条目-i
(请注意,关于默认路径的信息在Android上可能不相同):
-i identity_file
Selects a file from which the identity (private key) for public
key authentication is read. The default is ~/.ssh/identity for
protocol version 1, and ~/.ssh/id_dsa, ~/.ssh/id_ecdsa and
~/.ssh/id_rsa for protocol version 2. Identity files may also be
specified on a per-host basis in the configuration file. It is
possible to have multiple -i options (and multiple identities
specified in configuration files). ssh will also try to load
certificate information from the filename obtained by appending
-cert.pub to identity filenames.
$HOME
(对于root)/data
在我的手机上设置为,但ssh
似乎忽略了我尝试在此处设置的任何目录。我从来没有真正弄清楚为什么会这样,但是我也不需要真正去研究它。
echo $HOME
什么也没有返回(即使是root用户也是如此)。如果您也是这种情况,这也是SSH客户端默认情况下看不到密钥的原因。但是,有了-i
flag,您可以覆盖默认路径,因此不必寻找$ HOME。如果您精简的SSH客户端支持此方法,则这是正确的解决方案。因此,将密钥放在sdcard上后再尝试。如果失败,除非更改SSH客户端,否则没有其他方法。
安装并运行ConnectBot(专用的SSH客户端)。点击/按菜单键。在菜单中,点按Manage Pubkeys
。在下一个屏幕上,再次按/点击菜单键。在菜单中,点按Import
。