Jenkis CLI 不起作用:警告:Jenkins 没有返回标头“X-SSH-Endpoint”

Jenkis CLI 不起作用:警告:Jenkins 没有返回标头“X-SSH-Endpoint”

Jenkins ver. 2.205我有Windows 10以下情况

  • Configure Global SecurityEnable security检查。
  • 我创建了id_rsa_jenkinsid_rsa_jenkins.pub密钥。公钥的值已添加到 Jenkins 中供我在 中的帐户使用SSH Public Keys
  • 我有jenkins-cli.jar文件,从以下位置下载http://localhost:9090/cli/

命令行界面

当我执行以下操作时(为了演示目的分成多行):

java -jar jenkins-cli.jar 
          -s http://localhost:9090/ 
          -i C:\Users\windowsusername/.ssh/id_rsa_jenkins 
          -ssh 
          -user jenkinsusername 
          help

出现:

Enter passphrase for C:\Users\windowsusername\.ssh\id_rsa_jenkins:

问题

我写有效的密码然后出现以下内容:

Nov 23, 2019 11:28:22 AM org.apache.sshd.common.util.security.AbstractSecurityProviderRegistrar getOrCreateProvider
INFO: getOrCreateProvider(EdDSA) created instance of net.i2p.crypto.eddsa.EdDSASecurityProvider
Nov 23, 2019 11:28:22 AM hudson.cli.SSHCLI sshConnection
WARNING: No header 'X-SSH-Endpoint' returned by Jenkins

如上图,没有出现预期的数据

它发生在任何Jenkins CLI命令上,例如:

  • 帮助
  • 我是谁
  • 列出工作

ETC。

缺少什么或者有错误吗?

答案1

对于观众来说:

原始帖子中提供的说明是强制性的。但以下说明也是强制性的:

  • 已安装SSH插件
  • 在部分Configure Global SecuritySSH Server(在底部),继续启用它,在本例中我使用Fixed值选项。

笔记似乎该random选项只对这种情况有用jenkins-cli.jar。因为通过SSH连接(即ssh -l jenkinsusername -p 2020 localhost list-jobs:)必须知道端口,在本例中是2020

因此,Fixed或者Random是可行的jenkins-cli.jar(它不要求使用端口号),但对于SSH连接,必须知道端口号(这里Fixed需要它)

此外詹金斯 SSH表示:

Configuration

By default, Jenkins will listen on a random available port, so as not to break 
existing deployments. But this is most likely not very useful, so the administrator 
is encouraged to change this from the global security configuration page by assigning 
a fixed port. This configuration UI will also allow you to disable this feature. 

这个视频非常有价值:

相关内容