grml-etc-core icon indicating copy to clipboard operation
grml-etc-core copied to clipboard

OpenSSH 9.0 changed double quoting behavior

Open Kistelini opened this issue 2 years ago • 3 comments

OpenSSH 9.0 changed the default scp protocol from scp to sftp. This also changes how remote path have to be quoted and leads to broken autocompletion on Arch Linux where OpenSSH 9.0 is already the default. Example:

% touch test\ a
% scp test\ a remote:
test a                                                                                                                       100%    0     0.0KB/s   00:00    
% scp test\ a remote:test\\\ a #with tab completion
test a                                                                                                                       100%    0     0.0KB/s   00:00    
% ssh remote ls
test a
test\ a

This also affects rsync completion.

Kistelini avatar Nov 02 '22 14:11 Kistelini

Hm, this feels like this should be raised at Zsh upstream, or what do @ft + @xtaran think? Are you aware of any ongoing work related to this? Possible workarounds in grml-zshrc?

mika avatar Nov 02 '22 15:11 mika

Upstream is aware of it. There was a thread about it which came to the conclusion that despite OpenSSH stated this in the release notes, Tab completion still works as before and no changes are necessary as of now (well, back then in April 2022). And that the fact that it still works seems to be a bug in OpenSSH 9.0. See the thread at https://zsh.org/workers/50062

Now the above is the first case I see where it seems to no more work, And I tried quite some ways to find a broken combination back then.

@Kistelini: Which version of SSH was on the server side? (Assuming that you have OpenSSH 9.0 on the client side.)

xtaran avatar Nov 02 '22 21:11 xtaran

Client is 9.1p1, server is 8.4p1

Kistelini avatar Nov 02 '22 22:11 Kistelini