xpra icon
Bug tracker and wiki

Opened 6 months ago

Closed 6 months ago

#2577 closed enhancement (invalid)

I don't get a password prompt for xpra attach from Win10 client access to a non-standard ssh port 5222

Reported by: akikoo Owned by: akikoo
Priority: minor Milestone: 4.0
Component: client Version: 3.0.x
Keywords: Cc:

Description (last modified by Antoine Martin)

This works starting up xpra on the remote:

ssh -p 5222 user@fqdn xpra start :100 --start=mate-terminal

This starts xpra on Win10 but doesn't ask for my ssh user password:

"\Program Files\Xpra\Xpra.exe" attach --ssh="ssh -p 5222" ssh://user@fqdn:5222/100

The connection works if I leave out --ssh="ssh -p 5222" (I get a password prompt in Win10. Originally I needed to use --ssh="ssh -i" for ssh key setup.

The systray icon in Win10 only has "Information" and "Close Menu" selectable. Other entries are greyed out.

Client OS: Windows 10
Client version: 4.0-r25058
Server OS: CentOS 7.7 (inside a Docker systemd container i.e. "anything that would make the setup unusual")
Server version: 3.0.6-0.20200125r25073xpra1.el7_7

Change History (4)

comment:1 Changed 6 months ago by akikoo

"This starts xpra on Win10" meaning it starts the systray icon but doesn't open the remote mate-terminal.

comment:2 Changed 6 months ago by Antoine Martin

Description: modified (diff)
Owner: changed from Antoine Martin to akikoo

The connection works if I leave out --ssh="ssh -p 5222" (I get a password prompt in Win10.

Then why are you setting --ssh="ssh -p 5222"?
Don't.
The connection string ​ssh://user@fqdn:5222/100 already has the port number.

When you don't set --ssh=, you end up using the paramiko backend, which will prompt for passwords, etc.
When you set --ssh=ssh, you end up using the openssh backend. Which you can debug by setting:

set XPRA_SSH_DEBUG=1

Before running xpra. It will then log the full command it will try to use.
But I doubt that the openssh backend will work on MS Windows.
Normally, the other backend on MS Windows is "plink.exe".

comment:3 Changed 6 months ago by akikoo

Then why are you setting --ssh="ssh -p 5222"?

I thought it would be needed to use ssh keys for authentication.

Version 0, edited 6 months ago by akikoo (next)

comment:4 Changed 6 months ago by Antoine Martin

Resolution: → invalid
Status: new → closed

I thought it would be needed to use ssh keys for authentication.

No, paramiko handles keys just fine. Even new format keys as of paramiko 2.7: #2307.
You can see which paths it will use for loading the keys by running the Path_info.exe utility, or running with -d ssh.

Edit: I was able to use plink earlier with ssh keys, but I noticed ssh is installed by default on Win10 so I thought it could be used in place of plink.

It can be used as long as there is no user interaction required: we attach to the ssh subprocess stdin and stdout pipes to communicate with the server and on MS Windows the OS seems unable to talk to the controlling tty directly for user input.

I am closing as invalid since using openssh "ssh" on MS Windows is impossible, at least for now.

Note: See TracTickets for help on using tickets.