使用 Gradle 部署 springboot 项目:任务':deploytest'执行失败



我用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 = '*****' 
   }
} 

最新更新