如何通过SSH使用Mait Release Plugin与Git一起使用?

时间:2013-02-12 21:20:12

标签: git maven ssh cygwin

我试图在gsh上使用Maven Release插件而不是ssh 我运行命令 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发布插件没有拿起我的私钥,我可以说,因为它正在执行一系列&#34; cmd.exe&#34;来运行git。 那么我应该把我的私钥放在哪里,我怎么让Maven知道呢?我已经查看了Maven Release插件的文档,我在配置中没有看到任何内容关于ssh键。我在settings.xml文件中添加了一个新的服务器元素,但这也没有用。您可以在此问题上指出我的任何文档将不胜感激。其他说明:私钥未受密码保护。另外,我在Windows 7和cygwin上。

1 个答案:

答案 0 :(得分:2)

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

MSysGit and ssh config. missing