4

我正在尝试通过 ssh 将 Maven Release 插件与 git 一起使用。
我运行命令mvn release:prepare并得到以下错误:

[INFO] Working directory: C:\projects\sample
[INFO] Executing: cmd.exe /X /C "git push ssh://bill@hbox/sample master:master"
[INFO] Working directory: C:\projects\sample
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.4:prepare (default-cli) on project sample: Unable to commit files
[ERROR] Provider message:
[ERROR] The git-push command failed.
[ERROR] Command output:
[ERROR] Permission denied, please try again.
[ERROR] Permission denied, please try again.
[ERROR] Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
[ERROR] fatal: The remote end hung up unexpectedly

我的 pom.xml 中有以下内容:

<scm>
    <developerConnection>scm:git:ssh://hbox/sample</developerConnection>
    <tag>sample-1.1</tag>
</scm>  

我正在使用公钥身份验证来访问 ssh 服务器,并且命令ssh bill@hbox可以在不提示输入密码的情况下工作。显然,maven 发布插件没有获取我的私钥,我可以知道,因为它正在执行一系列“cmd.exe”来运行 git。那么我应该把我的私钥放在哪里,我如何让 Maven 知道呢? 我查看了 Maven Release 插件的文档,但在配置中我没有看到任何关于 ssh 密钥的内容。我在我的 settings.xml 文件中添加了一个新的服务器元素,但这也不起作用。您可以在此问题上指出我的任何文档将不胜感激。其他说明:私钥不受密码保护。另外,我在 Windows 7 和 cygwin 上。

4

1 回答 1

2

我在这里找到了答案。我无法让 maven 发布插件在 cygwin 下工作,但如果你使用 msysgit(打开 git-cmd.bat)然后输入命令“echo %HOME%”,然后将 id_rsa 放在 %HOME/ 中,它将工作.ssh。

MSysGit 和 ssh 配置。失踪

于 2013-02-12T22:24:09.157 回答