无法匹配 git 的 ssh 密钥。改为制作本地指纹?

Can't match ssh key for git. Makes local fingerprint instead?

我的目标是在我的 Linux 服务器盒上设置 git,这样我就可以 commit/push 通过我的 windows 机器上的批处理文件。 我希望得到类似于我过去使用 svn 所做的事情,这样我就可以创建一个具有某些 read/write 权限的用户。我很高兴它依赖于 ssh 密钥。 到目前为止,每次我尝试在我的计算机和服务器上放置 ssh 密钥时,它都会忽略它并生成自己的密钥:

The authenticity of host 'xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx)' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
Are you sure you want to continue connecting (yes/no)?

这意味着我每次都必须输入密码,这样我的批处理文件解决方案就不起作用了。

我将密钥放在 windows 机器的 "C:/Users/Ryan/.ssh/" 和 "C:/Program Files (x86)/Git/.ssh/" 的 msysgit 安装目录中。我还将它安装到我的服务器上给建议的 git 用户。我按照 git documentation 进行了基本安装: - 使用 puttygen 为自己生成了一个 SSH 密钥。 - 将其复制到我的服务器并将其 cat'd 到 /home/git/.ssh/ 中的 authorized_keys - 初始化 git 存储库等

我可以 push/pull 但我必须使用 RSA 指纹并使用 git 帐户密码登录,而不是使用 ssh 密钥。

我是不是做错了什么它真的应该像这样工作吗?

我还没有完全读懂制作一个 git 守护进程,也许这就是我想要的?

确保您正在使用 msysgit 发行版中的 git-cmd.bat 启动 DOS 会话:这将正确设置 HOME 环境变量(通常是 %USERPROFILE%)。

public (id_rsa.pub) 和私钥 (id_rsa) 需要在 %HOME%\.ssh.

消息 The authenticity of host 应该只出现一次,在第一次 ssh 连接时。完成后,不要删除它创建的 %HOME%\.ssh\known_hosts 文件。