设置 git 以要求 ssh 密钥文件

Set up git to require a ssh keyfile

我按照 the guide here 为我的网站创建了一个 git 存储库(不使用 github 或任何东西)。问题是我什至不需要密钥文件就可以 ssh 并推送到 repo。

我正在使用 SourceTree,我所做的只是将源路径设置为 ssh://user@mydomain.com/var/repo/site.git,我可以在根本不使用任何密钥或密码的情况下更新我的网站。

如何让我的网站 git 需要一些身份验证?我的服务器是 Ubuntu LAMP 服务器。

您应该能够 运行 ssh user@mydomain.com 查看是否需要任何身份验证。如果没有,可能有一个 SSH 密钥,它是从 .ssh/config 中获取的,例如 id_rsaid_dsa,并且在某些时候您将相应的 public 密钥放在.ssh/authorized_keys.

中的远程服务器

如果您想要密码,请删除该密钥(然后回退到标准 user/password 提示)或将您的 SSH 密钥设置为需要密码。 (当您设置密码时,ssh-agent 可能会在询问您之间将您的密码缓存一段时间。)

我发现了问题所在:实际上它一直在使用我的密钥文件。它以某种方式自动将我桌面上的 .ppk 文件与该存储库相关联。

只需重命名我桌面上的密钥文件,它就不再允许我通过 ssh 进入我的服务器。在 SourceTree 中没有更改此文件路径的设置或配置。老实说,我不知道它是怎么做到的。