如何更改 Git SSH 密码记住设置?

如何更改 Git SSH 密码记住设置?

Git 允许使用 RSA 指纹或 ED25519 向 GitHub 执行拉取或推送操作。首次添加密钥并推送时,系统会询问我们(通过 Ubuntu GUI 的模式框)是否希望 Git 记住我们为该密钥设置的密码,而不必每次都输入密码。如果您忘记勾选记住密码的复选框,则每次向 GitHub 执行拉取或推送操作时都必须输入密码。

哪个文件或文件夹包含用于记住密码的设置?是 Gnome Keyring 吗?我想删除该设置,以便下次我进行推送或拉取时,我希望它再次询问我是否要记住密码,而这次我想在该复选框上打勾。

我已经搜索了.ssh文件夹并删除了该文件。还查看了和known_hosts的一些 Gnome 文件夹,但找不到任何可以提示我该设置存储位置的东西。这是在 Ubuntu 16.04 上。.cache.config

我认为这是模态框:
在此处输入图片描述 我希望它再次提示我。我已经尝试删除文件.pub并从 GitHub 中删除密钥并重新创建密钥。但模式框没有再次出现。

答案1

没有这样的设置——行为只是基于現在存在“记住”密码的密码。GNOME Keyring 尝试从 加载所有密钥~/.ssh/id_*。如果密钥环包含 SSH 密钥的密码,则会自动使用该密码;如果密钥环不包含密码,则会出现图形对话框。(用于seahorse管理已保存的密码。)

GNOME Keyring 的行为在后来的版本中发生了变化,但一般来说,它只从 ~/.ssh/ 自动加载密钥,其他所有内容都需要使用 手动加载ssh-add

这只有效如果系统配置为使用 GNOME Keyring 的 SSH 代理。如果您的$SSH_AUTH_SOCK配置为使用其他代理(例如普通的 ssh-agent),则按需密钥加载取决于该“其他代理”。

答案2

您需要启动 ssh-agent 并添加密钥。这应该会在 shell 运行期间缓存密钥。

  1. eval $(ssh-agent)
  2. ssh-add <PATH_TO_SSH_KEY>

发现了这件事这里

相关内容