我试图通过ssh使用Maven Release插件与git。
我运行命令MVN发布:准备并得到以下错误:如何让Maven Release Plugin通过SSH与Git协同工作?
[INFO] Working directory: C:\projects\sample
[INFO] Executing: cmd.exe /X /C "git push ssh://[email protected]/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上。
http://stackoverflow.com/questions/2796303/maven-wont-use-public-key-to-deploy – 2013-02-12 21:23:10