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

时间:2021-05-10 10:42:29

标签: git ssh ssh-keys

当我执行时在 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:

我猜在这一步中它不应该要求输入密码。

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

2 个答案:

答案 0 :(得分:1)

您需要检查与创建的 ~/.ssh/authorized_keys 文件关联的权限。
正如所见的 herehere,它应该是 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” ”

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