“ USERAUTH fail”,使用具有标识的gradle-ssh-plugin

问题描述 投票:4回答:2

我无法使用带有私钥的Gradle SSH Plugin连接到SSH主机。

build.gradle中指定密码可以正常工作:

remotes {
    webServer {
        host = '<IP>'
        user = '<USER>'
        password = '<PASSWORD>'
    }
}

但是为了避免在构建文件中写入密码,我将环境设置为使用私钥进行连接,而无需从shell输入密码:

ssh <user>@<ip>

此命令可在外壳上运行,但我无法通过Gradle插件实现此功能。这是我的配置:

remotes {
    webServer {
        host = '<IP>'
        user = '<USER>'
        identity = file("${System.getProperty('user.home')}/.ssh/id_rsa")
    }
}

错误是:

原因:com.jcraft.jsch.JSchException:USERAUTH在com.jcraft.jsch.UserAuthPublicKey.start(UserAuthPublicKey.java:119)处失败

由于我能够从外壳连接,所以我的配置出了什么问题?

ssh gradle private-key gradle-plugin
2个回答
12
投票

我通过添加agent = true属性来解决此问题:


0
投票

我找到的解决方案-生成密钥时,请指定PEM格式:

© www.soinside.com 2019 - 2024. All rights reserved.