Maven不会使用公钥来部署
我正在使用SSH将我的Java工件部署到服务器。 我设置了密钥,以便我可以交互式SSH连接到服务器而无需密码,但是当我尝试运行“ mvn deploy
”或“ mvn release:perform
”命令时,它会挂起(我假设是密码)提示)。
我的~/.m2/settings.xml
文件包含服务器的用户名(因为它与我的本地用户名不同)并引用了需要不同用户的服务器的id
。
您确定您的settings.xml
提供了所需的一切吗? 您是否声明了您的privateKey
(以及必要时的passphrase
)? 像这样的东西:
... server001 my_login ${user.home}/.ssh/id_dsa some_passphrase 664 775 ...
在您的distributionManagement部分中,尝试在您的url中使用“scpexe://”而不是“scp://”。
这会调用标准的scp程序(假设它在你的路径上),而不是使用内置在Maven中的scp的Java实现。 标准scp使用ssh-agent(在Ubuntu中,当您通过GDM登录时自动启动)进行公钥validation。