I don't think that will help. The CLI changed in a recent release, and
even without the reverse proxy you have to change how you use it. Did
you have a look at the "Common Problems with the CLI client" in the
docs? Remember that the username you are passing with -user is a Jenkins
user id, not a Linux username. Have you added the public key for that
user to Jenkins as shown in the doc?
One other thing: You are using "java -cp /path/to/cli.jar", while all
the examples in the help show "java -jar /path/to/cli.jar". Might be
worth trying. In any case, I ended up switching to the direct ssh method
I showed in my shell script, and it's been working for me.
Good luck!
Eric
On 6/27/2019 10:17 AM, Eric Fetzer wrote:
Hi Eric, thanks for the reply. I'm not using a reverse proxy on my
Jenkins server. It's pretty much out of the box. I've been using the
jenkins-cli.jar file for about 6 years. I just recently upgraded it
and it stopped working. Before, I was able to connect with just the -s
and the -i. Not sure why with the new version -i needs the ssh
option. Maybe I should just call straight to the jenkins-cli.jar on
the server to bypass jenkins remote security functionality?
Thanks,
Eric
On Tue, Jun 25, 2019 at 11:10 AM Eric Pyle <eric.p...@cd-adapco.com
<mailto:eric.p...@cd-adapco.com>> wrote:
Have a look at the docs: https://jenkins.io/doc/book/managing/cli/
. As stated there, if you are using a reverse proxy on your
Jenkins server, it won't work using the jenkins-cli.jar as you
are. You can try using the property
-Dorg.jenkinsci.main.modules.sshd.SSHD.hostName on Jenkins
startup, but that didn't work for our installation. I ended up
switching to accessing CLI via the ssh command, as documented
under "Using the CLI over SSH". Here's a little shell script I set
up to access CLI from a bash prompt:
$ *cat bin/jenkins*
if [ $# == 0 ]; then DEF_ARG=help;fi
port=`curl -Lv ${JENKINS_URL}/login 2>&1 | grep -i
'x-ssh-endpoint'|grep -oE '([0-9]+)'`
ssh -p $port starci $@ $DEF_ARG
On 6/25/2019 11:52 AM, Eric Fetzer wrote:
Thanks Eric! I updated my java version to 1.8 and it appears my
command line has changed since the version of java-cli.jar I was
using. the -i doesn't work together with the -s without a -ssh
and the -ssh needs a -user, lol. But once I put all those
together, I get:
java -cp /my/path/to/jar/jenkins-cli.jar -s
http://myJenkinsServer:8080 <http://myjenkinsserver:8080/> -ssh
-user jenkins -i /my/key/.ssh/id_rsa help
Jun 25, 2019 9:48:19 AM
org.apache.sshd.common.util.security.AbstractSecurityProviderRegistrar
getOrCreateProvider
INFO: getOrCreateProvider(EdDSA) created instance of
net.i2p.crypto.eddsa.EdDSASecurityProvider
Jun 25, 2019 9:48:19 AM hudson.cli.SSHCLI sshConnection
WARNING: No header 'X-SSH-Endpoint' returned by Jenkins
I don't think this is a success as it didn't return help to me.
On Tuesday, June 25, 2019 at 9:33:37 AM UTC-6, Eric Pyle wrote:
It's telling you the Java version is not correct. What
version of Java are you using? Needs to be 1.8 for current
Jenkins.
On 6/25/2019 11:27 AM, Eric Fetzer wrote:
OK, that was a flop. I downloaded the correct
jenkins-cli.jar from : http://myJenkinsServer:8080
<http://myjenkinsserver:8080/>/jnlpJars/jenkins-cli.jar
<https://jenkins.example.com/jnlpJars/jenkins-cli.jar>, and
now I get:
Exception in thread "main"
java.lang.UnsupportedClassVersionError: hudson/cli/CLI :
Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at
java.lang.ClassLoader.defineClass(ClassLoader.java:648)
at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at
java.net.URLClassLoader.defineClass(URLClassLoader.java:272)
at
java.net.URLClassLoader.access$000(URLClassLoader.java:68)
at
java.net.URLClassLoader$1.run(URLClassLoader.java:207)
at
java.net.URLClassLoader$1.run(URLClassLoader.java:201)
at
java.security.AccessController.doPrivileged(Native Method)
at
java.net.URLClassLoader.findClass(URLClassLoader.java:200)
at java.lang.ClassLoader.loadClass(ClassLoader.java:325)
at
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:296)
at java.lang.ClassLoader.loadClass(ClassLoader.java:270)
at
sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:406)
On Tuesday, June 25, 2019 at 8:12:58 AM UTC-6, Eric Fetzer
wrote:
This makes no sense. When I run the command:
java -cp /my/path/to/jar/jenkins-cli.jar -s
http://myJenkinsServer:8080 -i /my/key/id_rsa help
I get:
Neither -s nor the JENKINS_URL env var is specified.
Jenkins CLI
Usage: java -jar jenkins-cli.jar [-s URL] command
[opts...] args...
Options:
-s URL : the server URL (defaults to the
JENKINS_URL env var)
-i KEY : SSH private key file used for
authentication
-p HOST:PORT : HTTP proxy host and port for HTTPS
proxy tunneling. See
http://jenkins-ci.org/https-proxy-tunnel
-noCertificateCheck : bypass HTTPS certificate check
entirely. Use with caution
-noKeyAuth : dont try to load the SSH
authentication private key. Conflicts with -i
The available commands depend on the server. Run the
help command to
see the list.
So I figure I'll play, and set the env variable even
though the -s was in there plain as day. So I do:
export JENKINS_URL='http://my.JenkinsServer:8080'
java -cp /my/path/to/jar/jenkins-cli.jar -jar
/my/path/to/jar/jenkins-cli.jar -i /my/key/id_rsa help
I get:
Exception in thread "main" java.io.IOException:
Failed to connect to http://my.JenkinsServer:8080/
at hudson.cli.CLI.getCliTcpPort(CLI.java:271)
at hudson.cli.CLI.<init>(CLI.java:126)
at
hudson.cli.CLIConnectionFactory.connect(CLIConnectionFactory.java:72)
at hudson.cli.CLI._main(CLI.java:471)
at hudson.cli.CLI.main(CLI.java:387)
Caused by: java.net.UnknownHostException:
my.JenkinsServer
at java.net
<http://java.net>.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:175)
at
java.net.SocksSocketImpl.connect(SocksSocketImpl.java:384)
at java.net.Socket.connect(Socket.java:543)
at java.net.Socket.connect(Socket.java:492)
at
sun.net.NetworkClient.doConnect(NetworkClient.java:178)
at
sun.net.www.http.HttpClient.openServer(HttpClient.java:417)
at
sun.net.www.http.HttpClient.openServer(HttpClient.java:519)
at
sun.net.www.http.HttpClient.<init>(HttpClient.java:203)
at
sun.net.www.http.HttpClient.New(HttpClient.java:296)
at
sun.net.www.http.HttpClient.New(HttpClient.java:315)
at
sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1004)
at
sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:940)
at
sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:858)
at hudson.cli.CLI.getCliTcpPort(CLI.java:269)
... 4 more
A week ago I had no issues whatsoever. Both of these
servers were patched since then. Both servers are RHEL
6.10. Jenkins version 2.176.1. Any ideas of what my
sudden issue could be or where to start trouble shooting
this?
Thanks,
Eric
--
You received this message because you are subscribed to the
Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails
from it, send an email to jenkins...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/jenkinsci-users/6eef6538-ad55-49e9-8ae0-ed2c727509de%40googlegroups.com
<https://groups.google.com/d/msgid/jenkinsci-users/6eef6538-ad55-49e9-8ae0-ed2c727509de%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.
--
Eric Pyle
Siemens PLM Software
Lebanon, NH
+1 603-277-3060
eric...@siemens.com
http://www.siemens.com/plm
--
You received this message because you are subscribed to the
Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it,
send an email to jenkinsci-users+unsubscr...@googlegroups.com
<mailto:jenkinsci-users+unsubscr...@googlegroups.com>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/jenkinsci-users/f225f651-4f68-4f1c-81fd-bd0705305414%40googlegroups.com
<https://groups.google.com/d/msgid/jenkinsci-users/f225f651-4f68-4f1c-81fd-bd0705305414%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.
--
Eric Pyle
Siemens PLM Software
Lebanon, NH
+1 603-277-3060
eric.p...@siemens.com <mailto:eric.p...@siemens.com>
http://www.siemens.com/plm
--
Eric Pyle
Siemens PLM Software
Lebanon, NH
+1 603-277-3060
eric.p...@siemens.com
http://www.siemens.com/plm
--
You received this message because you are subscribed to the Google Groups "Jenkins
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/jenkinsci-users/ddecb967-78fb-70cc-2986-e4b6d8f795bb%40siemens.com.
For more options, visit https://groups.google.com/d/optout.