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.