我的 android 4.4.2(它很旧但无法升级)手机通过 SimpleSSHD 应用程序运行 SSH 服务器。它在每次登录时都会生成不同的随机密码,所以对于我作为客户端用户来说非常不方便。所以我想使用公钥认证。
以前我已经生成了一对公钥和私钥来访问 SSH 服务器。我想重复使用密钥对是可以的,所以我将公钥文件复制到android手机:
$ ssh-copy-id -p 2222 192.168.1.87
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/t/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password:
restorecon: invalid option -- F
usage: restorecon [-nrRv] pathname...
之后,我仍然需要输入服务器生成的随机密码才能登录。
将公钥文件复制到android手机不起作用吗?
公钥文件应该放在安卓手机的哪个目录下?
谢谢。
这不是安卓的问题。我相信输入密钥的惯例
~/.ssh/authorized_keys
来自 OpenSSH。我不相信它是标准(RFC)的一部分。SimpleSSHD有不同的约定:对此的推论是您的授权密钥文件不应该
~/authorized_keys
是~/.ssh/authorized_keys
.ssh-copy-id
似乎假设每个服务器都是 OpenSSH 服务器。由于您已经使用 设置了您的公钥ssh-copy-id
,我只需登录并运行: