** Description changed: [Impact] When a user has configured their authorized_keys file with the directive "from=" to restrict the usage of those keys, if that server is upgraded to Xenial (or Wily) the user may get locked out. [Test Case] * Create 3 containers (client, trusty, xenial) - $ lxc launch ubuntu:14.04 client - $ lxc launch ubuntu:14.04 ssh-trusty - $ lxc launch ubuntu:16.04 ssh-trusty + $ lxc launch ubuntu:14.04 client + $ lxc launch ubuntu:14.04 ssh-trusty + $ lxc launch ubuntu:16.04 ssh-trusty * To make sure their hostnames are properly registered in dnsmasq and dns resolution works, ssh into each container and run "sudo reboot" (restart the network should do the trick too) * In the 'client' container generate a ssh key - $ lxc exec client /bin/bash - (client)# ssh-keygen + $ lxc exec client /bin/bash + (client)# ssh-keygen * Add the ssh key in the other two containers for the user ubuntu * Verify a connection can be established from client to ssh-xenial and ssh-trusty - (client)# ssh ssh-xenial - (client)# ssh ssh-trusty + (client)# ssh ssh-xenial + (client)# ssh ssh-trusty * Edit in add the prefix from="client.lxd" in both containers authorized_keys file (ssh-xenial and ssh-trusty) * Check if you can connect - (client)# ssh ssh-trusty - (client)# ssh ssh-xenial + (client)# ssh ssh-trusty + (client)# ssh ssh-xenial Expected: you can connect to both containers Actual results: You can connect to the trusty server, but you can't to the xenial one, because since Wily (openssh 1:6.9p1-1[0] ) the configuration key UseDNS default changed from "yes" to "no", so sshd is not doing a reverse dns request to know if the incoming connection matched "client.lxd" [Workaround] Edit /etc/ssh/sshd_config and set "UseDNS yes" $ echo "UseDNS yes" | sudo tee -a /etc/ssh/sshd_config [More Info] Relevant portion from the manpage[1]: - UseDNS Specifies whether sshd(8) should look up the remote host name, - and to check that the resolved host name for the remote IP - address maps back to the very same IP address. + UseDNS Specifies whether sshd(8) should look up the remote host name, + and to check that the resolved host name for the remote IP + address maps back to the very same IP address. - If this option is set to “no” (the default) then only addresses - and not host names may be used in ~/.ssh/known_hosts from and - sshd_config Match Host directives. + If this option is set to “no” (the default) then only addresses + and not host names may be used in ~/.ssh/known_hosts from and + sshd_config Match Host directives. + + commit 3cd5103c1e1aaa59bd66f7f52f6ebbcd5deb12f9 [2] + Author: dera...@openbsd.org <dera...@openbsd.org> + Date: Mon Feb 2 01:57:44 2015 +0000 + + upstream commit + + increasing encounters with difficult DNS setups in + darknets has convinced me UseDNS off by default is better ok djm + [0] http://changelogs.ubuntu.com/changelogs/pool/main/o/openssh/openssh_6.9p1-1/changelog [1] http://manpages.ubuntu.com/manpages/xenial/en/man5/sshd_config.5.html + [2] https://github.com/openssh/openssh-portable/commit/3cd5103c1e1aaa59bd66f7f52f6ebbcd5deb12f9
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1588457 Title: authorized_keys using from="hostname" no longer work when upgrading to Xenial To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/1588457/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs