我正在尝试通过 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 上。