The latest systemd update broke ssh. Specifically, "ssh hostname", where
hostname was not a FQDN no longer worked, and I had to use "ssh
hostname.domain", for my LAN.
Of course, /etc/resolv.conf was pointing to systemd's resolver, and features:
search .
this was despite my DHCP server offering the LAN's domain name properly.
I don't remember if I fixed this laptop previously, or it was using
systemd's resolver for a while. I just symlinked /etc/resolv.conf to
/run/NetworkManager/no-stub-resolv.conf, which had the correct DNS search
string, as always.
This seemed to have fixed DNS lookups, per se:
$ host jack
jack.email-scan.com has address 192.168.0.6
But ssh was still broken, and failing.
An strace of ssh revealed that it still insists on talking to systemd.
connect(3, {sa_family=AF_UNIX,
sun_path="/run/systemd/resolve/io.systemd.Resolve"}, 42) = 0
sendto(3,
"{\"method\":\"io.systemd.Resolve.ResolveHostname\",\"parameters\":
{\"name\":\"jack\",\"flags\":0}}\0", 87,
MSG_DONTWAIT|MSG_NOSIGNAL, NULL, 0)
= 87
mmap(NULL, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x7f103ff5c000
I don't see where it's picking this up. The only thing I can think of is
nsswitch.conf, but the "hosts" entry there is identical to what's on
another, un-upgraded system.
I don't see where it's picking this up. The only thing I can think of is
nsswitch.conf, but the "hosts" entry there is identical to what's on
another, un-upgraded system.
Does anyone know how to fumigate systemd out of ssh?