Bug#958240: /usr/bin/ssh: ssh client should process arguments in the command line order
Package: openssh-client
Version: 1:8.2p1-4
Severity: normal
File: /usr/bin/ssh
$ ssh 10.0.0.1 -l baryluk -X -l root
baryluk@10.0.0.1's password:
Well, that is wrong. The last parameter overwrite should win.
This is helpful when one creates a shell alias (i.e. `alias r='ssh
10.0.0.1 -l baryluk -X'`) or a shell script (`exec ssh 10.0.0.1 -l baryluk -X "$@"`),
but still wants to be able to append and/or overwrite arguments (`r -l root`).
The same should apply when one says `ssh a@10.0.0.1 -l b`, the b should
win, as it is the most rightmost one.
This applies to few other options (-c, -D, -A/-a, -E, -I, -K/-k,
-q/-v/-y, -T/-t, -X/-Y/-x, -b, -B, -i, -S, etc).
Regards,
Witold
-- System Information:
Debian Release: bullseye/sid
APT prefers unstable-debug
APT policy: (500, 'unstable-debug'), (500, 'unstable'), (1, 'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 5.2.0-3-amd64 (SMP w/32 CPU cores)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages openssh-client depends on:
ii adduser 3.118
ii dpkg 1.19.7
ii libc6 2.30-4
ii libedit2 3.1-20191231-1
ii libfido2-1 1.4.0-1
ii libgssapi-krb5-2 1.17-7
ii libselinux1 3.0-1+b3
ii libssl1.1 1.1.1f-1
ii passwd 1:4.8.1-1
ii zlib1g 1:1.2.11.dfsg-2
Versions of packages openssh-client recommends:
ii xauth 1:1.0.10-1
Versions of packages openssh-client suggests:
pn keychain <none>
pn libpam-ssh <none>
pn monkeysphere <none>
ii ssh-askpass 1:1.2.4.1-10+b1
ii ssh-askpass-gnome [ssh-askpass] 1:8.2p1-4
-- no debconf information
Reply to: