当我使用 git bash 推送时,如何停止打开 ssh 询问连接

当我使用 git bash 推送时,如何停止打开 ssh 询问连接

在此处输入图片描述

我不明白为什么 git 要求我连接到打开的 ssh。我重新安装了几次 git 并进行了其他操作,但一无所获。我也搜索了互联网,没有人遇到同样的问题。

其他人可以进入我的项目并推送库存,但我不能,因为开放了 ssh。

答案1

尽管窗口有标题栏,但如果您查看 URL,这实际上是在要求输入 HTTPS 用户名,而不是 SSH 用户名。这是因为 Git 正在使用该ssh-askpass命令提示输入 HTTPS 的用户名和密码。

Git for Windows 默认配置了此行为,因为 Windows 上的许多用户使用图形程序来调用 Git,而不是终端。因此,对于许多用户来说,尝试在终端上提示会默默失败,并且不会显示有用的错误消息。 ssh-askpass已随 Git for Windows 一起提供,可用于以图形方式提示,而无需对 Git 进行任何修改。

如果您希望在终端上提示,您可以取消设置GIT_ASKPASS环境变量,这样 Git 就会在终端上提示您。此外,如果您使用凭证管理器,Git 会为您存储用户名和密码,这样您就无需再次输入,而且根本不会提示您。

答案2

HTTPS:

如果你使用 https,你可以尝试“git config credential.helper store”
https://git-scm.com/docs/git-credential-store

使用 https 默认会提示用户凭证。
https://docs.gitlab.com/ee/gitlab-basics/start-using-git.html#git-authentication-methods

SSH:

对于 SSH,您可能需要在服务器端向您的帐户添加 ssh 密钥。
如果您没有密钥对,则必须创建一个。(如果有,请注意不要覆盖现有的密钥对)。

如果您使用 GitLab 或 GitHub,您可以在这里找到指南。GitLab

https://docs.gitlab.com/ee/ssh/README.html#adding-an-ssh-key-to-your-gitlab-account

GitHub:
https://docs.github.com/en/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account

相关内容