如何使用 Git 客户端和 git 服务器配置无密码身份验证?

how to configure Password less authentication With Git Client and git server?

在 运行 ssh-keygen 之后 git bash 当我执行

$ 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:

我猜这一步应该不会要求输入密码。

我做错了什么有人能帮忙吗?

您需要检查与创建的 ~/.ssh/authorized_keys 文件关联的权限。
正如所见 here or here,它应该是 600 (rw-------),并且 scp 可能会创建权限过于开放的文件,SSH 守护进程无法对其进行操作。

这就是为什么,如评论所述,an ssh-copy-id 更可取。

执行$scp后使用此命令id_rsa.pub kovair@192.168.12.232:.ssh/authorized_keys

“ ssh {username}@{host:port} “chmod 700 .ssh ; chmod 640 .ssh/authorized_keys” ”

成功执行后运行你的命令要求输入密码。