我正在做一项作业,我们的工作组被授予访问 git 存储库的权限以提交我们的作业,但服务器仅支持学生的密码验证。因此,当我使用图形 git 客户端时,控制台上会给出密码提示。我通常不会从控制台启动 git 客户端,那么有没有办法让 ssh 使用图形提示进行密码验证,和/或存储会话的密码,就像我在公钥验证中使用的那样?
OS: Xubuntu 13.04
Git: 1.8.1.2
Client: SmartGit/Hg 4.6.5
答案1
除了我在上面的评论中提到的信息外,还有以下一些其他可能性:
- 您可以将
GIT_ASKPASS
环境变量(在您的 shell 中,或者更好的是,在启动 git 客户端时)设置为辅助应用程序的路径,该应用程序将弹出图形密码对话框(例如 ssh-askpass、ksshaskpass、gnome-askpass,ssh-askpass 对于 Mac、Cocoa 对话框等) - 您可以使用gitcredentials此功能可将您的密码临时存储在内存中、文件系统上的私有但未加密的文件中或使用特定于平台的第三方帮助程序(如 KDEWallet、GNOME Keyring、Mac OS X 钥匙串或 Windows Credential Store)。
- 或者,您可以使用加密的 .netrc 文件
我没有做过后者,但显然这听起来是最安全的方法,假设你正在运行所需的 Git 版本。