bugzilla-daemon at bugzilla.mindrot.org
2016-Feb-03 18:16 UTC
[Bug 2538] New: openssh v7 config parse regression
https://bugzilla.mindrot.org/show_bug.cgi?id=2538 Bug ID: 2538 Summary: openssh v7 config parse regression Product: Portable OpenSSH Version: 7.1p1 Hardware: Other OS: All Status: NEW Severity: normal Priority: P5 Component: ssh Assignee: unassigned-bugs at mindrot.org Reporter: petrus.lt+openssh at gmail.com Since 7.0, maybe a bit earlier, this config stopped working: 42 Host foo* 43 HostName %h.bar.com 45 Host *.bar.com 46 ProxyCommand ssh -A anotherhost.otherdomain.com ncat $(echo %h | awk -F. '{print $(NF-2)}') %p 2> /dev/null Here is what's expected: $ ssh -vv foo OpenSSH_6.6.1p1, OpenSSL 1.0.1p-freebsd 9 Jul 2015 debug1: Reading configuration data /home/petrus/.ssh/config debug1: /home/petrus/.ssh/config line 42: Applying options for foo* debug1: Reading configuration data /etc/ssh/ssh_config debug1: Hostname has changed; re-reading configuration debug1: Reading configuration data /home/petrus/.ssh/config debug1: /home/petrus/.ssh/config line 42: Applying options for foo* debug1: /home/petrus/.ssh/config line 45: Applying options for *.bar.com debug1: Reading configuration data /etc/ssh/ssh_config debug1: Executing proxy command: exec ssh -A anotherhost.otherdomain.com ncat $(echo foo.bar.com | awk -F. '{print $(NF-2)}') 22 2> /dev/null debug1: identity file /home/petrus/.ssh/id_rsa type 1 debug1: permanently_drop_suid: 1001 debug1: identity file /home/petrus/.ssh/id_rsa-cert type -1 debug1: identity file /home/petrus/.ssh/id_dsa type -1 debug1: identity file /home/petrus/.ssh/id_dsa-cert type -1 debug1: identity file /home/petrus/.ssh/id_ecdsa type -1 debug1: identity file /home/petrus/.ssh/id_ecdsa-cert type -1 debug1: identity file /home/petrus/.ssh/id_ed25519 type -1 debug1: identity file /home/petrus/.ssh/id_ed25519-cert type -1 debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_6.6.1_hpn13v11 FreeBSD-20140420 debug1: Remote protocol version 2.0, remote software version OpenSSH_3.5p1 debug1: match: OpenSSH_3.5p1 pat OpenSSH_3.* compat 0x01000000 <everything works> We can see that the two Host statements from config file were applied, whereas with 7.x this is no longer true: Linux: $ ssh -vv foo OpenSSH_7.1p2, OpenSSL 1.0.2e 3 Dec 2015 debug1: Reading configuration data /home/petrus/.ssh/config debug1: /home/petrus/.ssh/config line 42: Applying options for foo* debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 21: Applying options for * debug2: ssh_connect: needpriv 0 debug1: Connecting to foo.bar.com [192.0.2.12] port 22. ^C OpenBSD 5.8: $ ssh -vv foo OpenSSH_7.0, LibreSSL 2.2.2 debug1: Reading configuration data /home/petrus/.ssh/config debug1: /home/petrus/.ssh/config line 42: Applying options for foo* debug1: Reading configuration data /etc/ssh/ssh_config debug2: ssh_connect: needpriv 0 debug1: Connecting to foo.bar.com [192.0.2.12] port 22. ^C foo.bar.com is not directly reachable from the ssh client, but with 7.x the second Host statement from the config file is ignored. A tcpdump confirms that the client tries to connect to foo.bar.com directly. -- You are receiving this mail because: You are watching the assignee of the bug.
bugzilla-daemon at bugzilla.mindrot.org
2016-Feb-03 18:44 UTC
[Bug 2538] openssh v7 config parse regression
https://bugzilla.mindrot.org/show_bug.cgi?id=2538 Pierre Emeriaud <petrus.lt+openssh at gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |petrus.lt+openssh at gmail.com -- You are receiving this mail because: You are watching the assignee of the bug.
bugzilla-daemon at bugzilla.mindrot.org
2016-Feb-03 23:39 UTC
[Bug 2538] openssh v7 config parse regression
https://bugzilla.mindrot.org/show_bug.cgi?id=2538 Damien Miller <djm at mindrot.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |djm at mindrot.org Resolution|--- |WONTFIX Status|NEW |RESOLVED --- Comment #1 from Damien Miller <djm at mindrot.org> --- That behaviour (re-parsing configuration files when Hostname directives changed the target host) was a regression that was fixed in OpenSSH 6.8. If you want to get that behaviour back and use the re-written hostname, then set CanonicaliseHostname=yes -- You are receiving this mail because: You are watching someone on the CC list of the bug. You are watching the assignee of the bug.
bugzilla-daemon at bugzilla.mindrot.org
2016-Feb-04 09:14 UTC
[Bug 2538] openssh v7 config parse regression
https://bugzilla.mindrot.org/show_bug.cgi?id=2538 Pierre Emeriaud <petrus.lt+openssh at gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #2 from Pierre Emeriaud <petrus.lt+openssh at gmail.com> --- Thanks Damien, with "CanonicalizeHostname always" this works as 6.6 was. Sorry for the noise and keep on hacking. -- You are receiving this mail because: You are watching the assignee of the bug. You are watching someone on the CC list of the bug.