Subject: Bug#1586 closed by Mike Gabriel <[email-masked]> (Closing...)

From: [email-masked] (X2Go Bug Tracking System)
Date: Mon, 15 Jan 2024 20:45:02 +0000

This is an automatic notification regarding your Bug report
which was filed against the pyhoca-cli package:

#1586: pyhoca-cli does not honor the -k (--ssh-privkey) option

It has been closed by Mike Gabriel <[email-masked]>.

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact Mike Gabriel <[email-masked]> by
replying to this email.

-- 
1586: https://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=1586
X2Go Bug Tracking System
Contact [email-masked] with problems

Subject: Closing...
From: Mike Gabriel <[email-masked]>
To: [email-masked]
Date: Mon, 15 Jan 2024 20:42:37 +0000

Control: close -1

We are migrating our debbugs bug tracker instance to X2Go GitLab's  
issue tracker.

This issue is probably resolved by MR!5 at
https://gitlab.x2go.org/x2go/client/libs/python-x2go/-/merge_requests/5

Thus, closing...

Mike

-- 

DAS-NETZWERKTEAM
c\o Technik- und Ökologiezentrum Eckernförde
Mike Gabriel, Marienthaler Str. 17, 24340 Eckernförde
mobile: +49 (1520) 1976 148
landline: +49 (4351) 850 8940

GnuPG Fingerprint: 9BFB AEE8 6C0A A5FF BF22  0782 9AF4 6B30 2577 1B31
mail: [email-masked], http://das-netzwerkteam.de

Subject: pyhoca-cli does not honor the -k (--ssh-privkey) option
From: Eric Monson <[email-masked]>
To: [email-masked]
Date: Thu, 14 Apr 2022 18:16:35 -0600

Package: pyhoca-cli
Version: 0.4.0.3

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.