当我执行时在 git bash 中运行 ssh-keygen 之后
$ scp id_rsa.pub kovair@192.168.12.232:.ssh/authorized_keys
我要了
The authenticity of host '192.168.12.232 (192.168.12.232)' can't be established.
ECDSA key fingerprint is SHA256:v9aX9gU44tKMXefUA1V2bgPVzP1PoICupP+cpU3sNB4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.12.232' (ECDSA) to the list of known hosts.
kovair@192.168.12.232's password:
id_rsa.pub 100% 403 3.2KB/s 00:00
此后,当我尝试验证天气无密码身份验证是否成功时
$ ssh kovair@192.168.12.232 ls
我收到了
kovair@192.168.12.232's password:
我猜在这一步中它不应该要求输入密码。
我做错了什么有人可以帮忙吗?
答案 0 :(得分:1)
您需要检查与创建的 ~/.ssh/authorized_keys
文件关联的权限。
正如所见的 here 或 here,它应该是 600
(rw-------
),并且 scp 可能会创建权限过于开放的文件,SSH 守护程序无法对其进行操作。>
这就是为什么,正如所评论的,an ssh-copy-id
是更可取的。
答案 1 :(得分:1)
执行 $scp id_rsa.pub kovair@192.168.12.232:.ssh/authorized_keys 后使用此命令
<块引用>“ssh {用户名}@{host:port}”chmod 700 .ssh ; chmod 640 .ssh/authorized_keys” ”
并在成功执行后运行您要求输入密码的命令。