X2Go Bug report logs - #1586
pyhoca-cli does not honor the -k (--ssh-privkey) option

version graph

Package: pyhoca-cli; Maintainer for pyhoca-cli is X2Go Developers <x2go-dev@lists.x2go.org>; Source for pyhoca-cli is src:pyhoca-cli.

Reported by: Eric Monson <ericjmonson@gmail.com>

Date: Fri, 15 Apr 2022 00:20:01 UTC

Severity: normal

Found in version

Reply or subscribe to this bug.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox

Report forwarded to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#1586; Package pyhoca-cli. (Fri, 15 Apr 2022 00:20:02 GMT) (full text, mbox, link).

Acknowledgement sent to Eric Monson <ericjmonson@gmail.com>:
New Bug report received and forwarded. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>. (Fri, 15 Apr 2022 00:20:02 GMT) (full text, mbox, link).

Message #5 received at submit@bugs.x2go.org (full text, mbox, reply):

From: Eric Monson <ericjmonson@gmail.com>
To: submit@bugs.x2go.org
Subject: pyhoca-cli does not honor the -k (--ssh-privkey) option
Date: Thu, 14 Apr 2022 18:16:35 -0600
[Message part 1 (text/plain, inline)]
Package: pyhoca-cli

I've created a session and defined a private key (not at the location
~/.ssh/id_rsa). In the command line, I run "pyhocal-cli -k <private_key>
...".  However, pyhoca-cli still attempts to use ~/.ssh/id_rsa.

Here's what I believe happens:
x2go/defaults.py: autologin is defaulted to True
x2go/utils.py: autologin is translated to 'look_for_keys', so look_for_keys
is now set to True
x2go/backends/control/plain.py (in the function connect): We hit is
following if statement:
  if look_for_keys:
    key_filename = None
    pkey = None
(so key_filename and pkey are cleared)

Finally in backends/control/plain.py, we hit the if statement that calls
one of 3 paramiko connect calls. However, since key_filename and pkey are
set to None, but look_for_keys is set to true, the software ends up trying
to use the ~/.ssh/id_rsa file, if that doesn't work, it will then ask for a
password, but never uses the passed in private key.

If you comment out the if statement in "plain.py":
  if look_for_keys:
    key_filename = None
    pkey = None

then the software does in fact use the private key passed in at the command
line. I don't know why that if statement is there. I'm sure there is a
reason, but don't know the codebase well enough to say that would be a
global fix.
[Message part 2 (text/html, inline)]

Send a report that this bug log contains spam.

X2Go Developers <owner@bugs.x2go.org>. Last modified: Sun Feb 5 17:30:45 2023; Machine Name: ymir.das-netzwerkteam.de

X2Go Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.