(From Issue18342) If you have a username with whitespace, for example a space, and using the PermitOpen feature, then sshd_config will look like: Match User xxx yyy PermitOpen 127.0.0.1:something This is an invalid configuration and after the SIGHUP, the machine will no longer respond to SSH. The username should be quoted like: Match User "xxx yyy" PermitOpen 127.0.0.1:something
There are more characters that confuse sshd. E.g. the user foo""foo: > PermitOpen none > # @thinlinc-begin@ > Match User "foo""foo" > PermitOpen 127.0.0.1:5901 > # @thinlinc-end@ Gives: > Jan 08 14:36:26 dhcp-254-99.lkpg.cendio.se sshd[5947]: Missing Match criteria for foo > Jan 08 14:36:26 dhcp-254-99.lkpg.cendio.se sshd[5947]: /etc/ssh/sshd_config line 157: Bad Match condition The parser is unfortunately not very bright, so I think the only safe approach is to avoid all its special characters. Currently that list is " \t\r\n\"=". See strdelim() in misc.c.
Code looks fine, still works for regular usernames. Has the new fix been installed on the demo system?
(In reply to comment #5) > Code looks fine, still works for regular usernames. > > Has the new fix been installed on the demo system? Yes, on eudemo. usdemo has also been updated now.