git - 避免在执行 git push 时 pop 询问用户名的 pop 窗口

标签 git ssh cygwin msysgit tortoisegit

我的 Windows 机器上安装了 Cygwin、msysgit 和 TortoiseGit。我正在为 Cygwin 编写一个脚本,该脚本通过 ssh 将 git 推送到远程机器:

git push ssh://host/path/to/git master:master

此时,会出现一个 pop 窗口并询问我要用于 SSH 的用户。如果我键入一个用户,那么我会得到第二个 pop 窗口,要求我输入该用户的密码。现在,我有两个问题:
  • 该用户使用 key 对进行身份验证,因此它没有密码。 pop 窗口不允许我指定私钥。
  • 我编写脚本的原因是为了避免重复编写用户名和私钥位置等平凡的事情,所以我希望能够将用户名和私钥文件的路径传递给命令行(或者可能是一个配置文件)。

  • 你知道怎么做吗?

    最佳答案

    在使用 Windows 计算机时,我使用 pageant 设置私钥并自动将其提供给请求的应用程序。

    所以我必须在每个 session 中只提供一次私钥密码(给选美),而不是在每次需要时。由于 pageant 是一个身份验证代理,它适用于所有进行 ssh 连接的程序(我用 msysgit 对其进行了测试,没有问题)。

    见:http://the.earth.li/~sgtatham/putty/0.60/htmldoc/Chapter9.html

    关于git - 避免在执行 git push 时 pop 询问用户名的 pop 窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12035491/

    相关文章:

    bash - 当在循环内用管道替换时,MSYS2 bash 下降

    git - 撤消 git pull

    git - 清除 VS Code 中不存在的 Git 分支

    c# - .Net 类通过 SSH 在 Linux 上远程执行?

    Cygwin top 命令 - 查看所有用户的进程

    github - 如何为 Cygwin 安装 Git?

    git - 更新 gitattributes 后可以使用 Git 批量更改行结尾吗?

    git - 如何让 'git diff'忽略评论

    windows - 无法在Windows 10中通过SSH启动程序

    linux - 如何限制反向 SSH 隧道端口?