gpt4 book ai didi

maven - Gradle maven SSH

转载 作者:行者123 更新时间:2023-12-04 15:59:33 24 4
gpt4 key购买 nike

我正在使用“mavenDeployer”在“uploadArchives”任务期间使用 ssh/scp,使用 wagon ssh 实用程序。

与其将密码编码到 build.gradle 中,不如依靠正确的 ssh 设置。具体来说,我想让用户指定他们的私钥,并将该私钥加载到他们的环境中(ssh-agent、ssh-add 等)。 maven repo 有一个共享的用户标识,并且所有真实用户都将他们的 .pub key 正确添加到“authorized_keys”文件中共享用户 ID。

虽然 maven/ant 似乎有一个“privateKey”属性,而 Gradle DSL接受了,我设置的时候好像没有什么效果:

        mavenDeployer {
configuration = pr.configurations.publishJars
String keyFile = System.properties["user.mavenKey"]
repository(url: "scp://maven.company.com/path/to/maven") {
logger.info("Using SSH key: ${keyFile}")
authentication(userName: "maven", privateKey: keyFile)
}

如果我按照 gradle 文档中的示例输入实际密码,它确实有效,所以我知道一切正常。另外,更改 privateKey私钥(全部小写)导致属性错误,所以我知道属性(property)存在并在某种程度上得到认可。

而且我知道 ssh key 本身是有效的:

  % ssh -i ~/.ssh/mavenKey maven@maven.company.com ls /
[ no errors, output trimmed ]

但是当我运行它时,系统提示我输入共享用户 ID 的密码:

  % gradle uploadArchives
[... stuff ...]
Using SSH key: /homes/klash/.ssh/mavenKey
Password for maven@evomaven.englab.juniper.net:

如您所见,它不会提示输入 key 的密码。

最佳答案

确保您的私钥不需要密码。
您可以使用 ssh maven@evomaven.englab.juniper.net 从命令行访问远程而不提示输入密码吗?
如果不使用 ssh-copy-id 将您的公钥发送到服务器。

关于maven - Gradle maven SSH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15627852/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com