我用gradle写了一个springboot项目,我想部署它
以下是我在build.gradle
:中的部分代码
remotes {
localtest {
host = '192.168.0.116'
user = 'root'
password = '*****'
}
}
task deploytest(dependsOn: build) << {
ssh.run {
session(remotes.localtest) {
put from: 'build/libs/test-0.0.1-SNAPSHOT.jar', into: '/opt/test/'
execute "cd /opt/tieba"
execute 'nohup java -jar -Dspring.profiles.active=test test-0.0.1-SNAPSHOT.jar & echo $! > application.pid'
}
}
}
然后我运行gradle deploytest
,但它遇到了一个问题:
FAILURE: Build failed with an exception.
* Where:
Build file 'E:githubspring-projectstestbuild.gradle' line: 97
* What went wrong:
Execution failed for task ':deploytest'.
> reject HostKey: 192.168.0.116
详细信息
org.gradle.api.tasks.TaskExecutionException:任务":deploytest"的执行失败。
原因:com.jcraf.JSchException:拒绝主机密钥:192.168.0.116
渐变错误详细信息01渐变错误详细信息02
遇到同样的问题,服务器使用的是ED25519。
我删除了~/.ssh/known_hosts
中的相应行,用ssh-keyscan -t rsa myserver.tld
检索rsa横幅,并将结果复制回known_host
看起来比设置knownHosts = allowAnyHosts
更好
我通过在ssh配置中设置knownHosts = allowAnyHosts
来修复它,完整的设置是
remotes {
localtest {
host = '192.168.0.116'
user = 'root'
knownHosts = allowAnyHosts
password = '*****'
}
}