"USERAUTH fail" 使用具有身份的 gradle-ssh-plugin
"USERAUTH fail" using gradle-ssh-plugin with identity
我无法使用 Gradle SSH Plugin 和我的私钥连接到 SSH 主机。
在 build.gradle
中指定密码可以正常工作:
remotes {
webServer {
host = '<IP>'
user = '<USER>'
password = '<PASSWORD>'
}
}
但是为了避免在构建文件中写入我的密码,我将我的环境设置为使用我的私钥连接而不输入来自 shell:
的密码
ssh <user>@<ip>
此命令在 shell 中有效,但我无法使用 Gradle 插件实现。这是我的配置:
remotes {
webServer {
host = '<IP>'
user = '<USER>'
identity = file("${System.getProperty('user.home')}/.ssh/id_rsa")
}
}
错误是:
Caused by: com.jcraft.jsch.JSchException: USERAUTH fail at com.jcraft.jsch.UserAuthPublicKey.start(UserAuthPublicKey.java:119)
因为我可以从 shell 连接,我的配置有什么问题?
我通过添加 agent = true
属性:
解决了这个问题
remotes {
webServer {
host = '54.233.77.171'
user = 'denis'
agent = true
identity = file("${System.getProperty('user.home')}/.ssh/id_rsa")
}
}
agent - If this is set, Putty Agent or ssh-agent will be used on
authentication
更多信息:Connections settings
我在分析了 class UserAuthPublicKey:
之后尝试了这个 属性
if(userinfo==null) throw new JSchException("USERAUTH fail");
我认为JCraft只支持PEM密钥——生成密钥时需要指定格式:
ssh-keygen -t rsa -m PEM
我无法使用 Gradle SSH Plugin 和我的私钥连接到 SSH 主机。
在 build.gradle
中指定密码可以正常工作:
remotes {
webServer {
host = '<IP>'
user = '<USER>'
password = '<PASSWORD>'
}
}
但是为了避免在构建文件中写入我的密码,我将我的环境设置为使用我的私钥连接而不输入来自 shell:
的密码ssh <user>@<ip>
此命令在 shell 中有效,但我无法使用 Gradle 插件实现。这是我的配置:
remotes {
webServer {
host = '<IP>'
user = '<USER>'
identity = file("${System.getProperty('user.home')}/.ssh/id_rsa")
}
}
错误是:
Caused by: com.jcraft.jsch.JSchException: USERAUTH fail at com.jcraft.jsch.UserAuthPublicKey.start(UserAuthPublicKey.java:119)
因为我可以从 shell 连接,我的配置有什么问题?
我通过添加 agent = true
属性:
remotes {
webServer {
host = '54.233.77.171'
user = 'denis'
agent = true
identity = file("${System.getProperty('user.home')}/.ssh/id_rsa")
}
}
agent - If this is set, Putty Agent or ssh-agent will be used on authentication
更多信息:Connections settings
我在分析了 class UserAuthPublicKey:
之后尝试了这个 属性if(userinfo==null) throw new JSchException("USERAUTH fail");
我认为JCraft只支持PEM密钥——生成密钥时需要指定格式:
ssh-keygen -t rsa -m PEM