I'm having trouble with SSH sessions between two laptops on my network, A
and B
.
A
is a laptop I bought recently. B
is the laptop it replaced.
When I purchased A
, I cloned B
's hard drive. A
thus has the name that B
used to have, and I gave B
a new name by editing /etc/hostname
and the name of 127.0.1.1
in /etc/hosts
.
I built new ssh host keys on B
and also a new ssh key for my user account there.
On a separate device, I run DHCP and DNS servers, and I reserve addresses for most of my devices. B
's Wi-Fi interface had a reservation for x.x.x.10
. I changed B
's reservation to x.x.x.23
and gave the .10
address to A
's Wi-Fi interface.
The problem I'm having is that whenever I try to connect via ssh from A
to B
or from B
to A
, the SSH session freezes after all the handshaking and negotiating.
I have no problem ssh-ing to or from either of these machines and any other device on the network. But on B
, I've even installed Windows (fresh) as a dual boot OS, and from Cygwin, when I try to ssh to A
, I have the same problem.
I've cleared the ARP cache on these machines and every other one on my network, but to no avail. I have no trouble running iperf
between the two machines, and I can host a simple web application on one and view it on the other. I don't know what's going on with SSH.
It has to have something to do with the Wi-Fi connection, though, because if I connect the two laptops together with an Ethernet cable and give them static IP addresses, I have no problem with SSH over that interface.
I shut down the sshd daemon on B
and ran this:
sudo /usr/bin/sshd -ddd 2>daemon.log
Then on A
, I ran this:
ssh -vvv B 2>client.log
The resulting daemon and client logs don't reveal anything obvious to me, but maybe they will to someone else.
tcpdump
on the server.