tramp-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Shell-quoting issue for sshx/scpx on MS Windows


From: Jim Porter
Subject: Re: Shell-quoting issue for sshx/scpx on MS Windows
Date: Sat, 10 Apr 2021 14:18:15 -0700

On Sat, Apr 10, 2021 at 6:20 AM Michael Albinus <michael.albinus@gmx.de> wrote:
>
> Jim Porter <jporterbugs@gmail.com> writes:
[snip]
> > Perhaps Tramp can reply with the appropriate ANSI escape in this case
> > to make things work. Or perhaps not. I haven't had a chance to dig
> > into this very deeply, but when I get the time, I'll try to collect
> > some logs and narrow down the problem so I can send the results to the
> > list.
>
> Accessing an ssh server on MS Windows via Tramp will fail in general,
> because Tramp expects a POSIX shell on the server side. If I read the
> docs correctly, the ssh server on MS Windows opens a powershell.

You can actually set the default ssh shell on MS Windows to be a POSIX
shell by setting a registry value[1]. I've tried this and it works
well when using PuTTY or ssh via the command line, though the ANSI
escapes are still there, and I haven't been able to get it to work
through Tramp yet.

The ubiquity of Git has a nice side effect here: every MS Windows
system with Git installed has sh.exe and dozens of other common POSIX
programs in .../Git/usr/bin. In theory, Tramp (or the user) just needs
to change the `tramp-remote-shell' property from "/bin/sh" to
"C:/Program Files/Git/usr/bin/sh.exe"[2] when connecting to an MS
Windows server. If the ANSI escape issue is resolved, setting
`tramp-remote-shell' might be enough to allow connecting to MS Windows
servers via sshx. I'm still not 100% sure the ANSI escapes are the
problem, but if so, this would hopefully reduce the amount of effort
required to make this work.

- Jim

[1] 
https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_server_configuration#configuring-the-default-shell-for-openssh-in-windows
[2] Or wherever Git is installed on the server



reply via email to

[Prev in Thread] Current Thread [Next in Thread]