Git OpenSSH是否存储输入的用户名?

当通过OpenSSH在Git中将更改推送到GitHub时,我不小心在用户名提示中输入了密码(我很困惑,因为用户名提示还用星号掩盖了字符)。

因此,当实际密码提示出现时,我感到非常讨厌:

Git OpenSSH是否存储输入的用户名?

既然我输入了用户名的密码,我应该担心我的密码以明文形式存储在计算机上和GitHub服务器上的Git日志中吗?

我正在Windows 10上使用Git 2.23.0。

hy124513 回答:Git OpenSSH是否存储输入的用户名?

在这种情况下,您实际上并没有使用SSH。您正在使用SSH Askpass工具提示输入HTTPS凭据,因此您不必担心OpenSSH会做什么。 Askpass工具本身当然可以安全地处理凭据输入,而无需进行日志记录。但是,您的用户名已发送到远程服务器,因此,如果您提交了密码字段,则密码现在几乎可以肯定在GitHub的日志中(除​​非它是GitHub令牌,因为GitHub在某些情况下允许用户名字段中的密码并进行处理)安全地)。

如果您实际上未提交显示的 actual 密码字段提示,则用户名字段中的密码未发送到任何地方,因为HTTP协议将它们作为一个单元发送。由于凭据提示将失败,因此没有建立连接,因此您不必担心。

由于这是针对HTTP的,因此如果您使用的是凭据管理器(例如Git凭据管理器或wincred)并且密码已发送,那么您可能要检查Windows凭据存储以查看是否已将其保存在那里的用户名字段。虽然可以加密,但是如果凭据助手将其填充,则可以再次发送数据。

如果发送了密码,则必须假定使用该密码的所有信息都会受到威胁,并在使用密码的任何地方进行更改。如果您使用的是令牌,则将其替换为新令牌。如果您在多个地方使用相同的密码,请趁此机会开始使用密码管理器,这样一来,即使再做一次(我们都知道),这种事情也就不再那么麻烦了。

本文链接:https://www.f2er.com/3160532.html

大家都在问