Jenkins CLI连接被拒绝

执行时

java -jar jenkins-cli.jar -s https://jenkins_url help

由于某种原因,我的连接被拒绝。Jenkins版本是1580.3,用户具有Jenkins服务器的权限,cli

jar是最新的,并且ssh公钥已正确配置。知道是什么原因造成的吗?这是堆栈跟踪是否有帮助:

Exception in thread "main" java.net.ConnectException: Connection refused

at java.net.PlainSocketImpl.socketConnect(Native Method)

at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)

at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)

at java.net.AbstractPlainSocketImpl.connect(Unknown Source)

at java.net.SocksSocketImpl.connect(Unknown Source)

at java.net.Socket.connect(Unknown Source)

at hudson.cli.CLI.connectViaCliPort(CLI.java:203)

at hudson.cli.CLI.<init>(CLI.java:126)

at hudson.cli.CLIConnectionFactory.connect(CLIConnectionFactory.java:72)

at hudson.cli.CLI._main(CLI.java:466)

at hudson.cli.CLI.main(CLI.java:382)

Suppressed: java.io.EOFException: unexpected stream termination

at hudson.remoting.ChannelBuilder.negotiate(ChannelBuilder.java:331)

at hudson.remoting.Channel.<init>(Channel.java:421)

at hudson.remoting.Channel.<init>(Channel.java:400)

at hudson.remoting.Channel.<init>(Channel.java:396)

at hudson.remoting.Channel.<init>(Channel.java:385)

at hudson.remoting.Channel.<init>(Channel.java:377)

at hudson.remoting.Channel.<init>(Channel.java:353)

at hudson.cli.CLI.connectViaHttp(CLI.java:157)

at hudson.cli.CLI.<init>(CLI.java:130)

... 3 more

回答:

如果拒绝连接,则可能禁用了CLI,但是很可能存在防火墙或网络问题。

对Jenkins的每个成功的HTTP请求都将CLI端口作为HTTP标头进行响应,因此您可以快速检查它是否已启用:

curl -sI http://jenkins/ | grep CLI

或者,如Wiki上所述,您可以检查是否启用了TCP端口。在http://

jenkins / configureSecurity /中查找“

JNLP从属代理的TCP端口”

但是,由于您的stacktrace指示CLI客户端正在尝试建立与特定端口的连接,因此建议启用CLI,并且Jenkins在其HTTP响应中通告该端口号。

因此,您可以尝试手动连接到该端口,以检查其是否打开:

telnet jenkins <cli-port>

如果在此还看到“拒绝连接”,则表明您的Jenkins和CLI客户端设置似乎可以,但是存在网络问题。在这种情况下,请检查Jenkins服务器上的防火墙是否允许该CLI端口上的传入连接。

为了简化防火墙配置,可以在上述“配置安全性”页面中从随机端口切换到固定端口。

以上是 Jenkins CLI连接被拒绝 的全部内容, 来源链接: utcz.com/qa/418913.html

回到顶部