我在网络上的两台笔记本电脑之间进行 SSH 会话时遇到了问题,A
并且B
。
A
是我最近购买的一台笔记本电脑。 B
是它所替代的一台笔记本电脑吗?
当我购买时A
,我克隆了B
的硬盘。 因此具有以前的A
名称,并且我通过编辑和中的名称给出了一个新名称。B
B
/etc/hostname
127.0.1.1
/etc/hosts
我在那里建立了新的 ssh 主机密钥B
,并为我的用户帐户建立了一个新的 ssh 密钥。
我在另一台设备上运行 DHCP 和 DNS 服务器,并为大多数设备保留了地址。 B
的 Wi-Fi 接口为 保留了地址x.x.x.10
。我将B
的保留更改为x.x.x.23
,并将.10
地址提供给A
的 Wi-Fi 接口。
我遇到的问题是,每当我尝试通过 ssh 从A
到B
或从B
到进行连接时A
,SSH 会话在所有握手和协商之后都会冻结。
我可以轻松通过 ssh 连接这两台机器以及网络上的任何其他设备。但在 上B
,我甚至安装了 Windows(全新)作为双启动操作系统,当我尝试从 Cygwin ssh 连接 时A
,我遇到了同样的问题。
我已清除了这些机器以及网络上所有其他机器上的 ARP 缓存,但无济于事。我iperf
在两台机器之间运行没有任何问题,我可以在一台机器上托管一个简单的 Web 应用程序,并在另一台机器上查看它。我不知道 SSH 发生了什么。
但这肯定与 Wi-Fi 连接有关,因为如果我使用以太网电缆将两台笔记本电脑连接在一起并为它们提供静态 IP 地址,则通过该接口使用 SSH 就不会有问题。
我关闭了 sshd 守护进程B
并运行以下命令:
sudo /usr/bin/sshd -ddd 2>daemon.log
然后A
,我运行了这个:
ssh -vvv B 2>client.log
答案1
我开始看到其他一些异常,并得出结论,我的 AP 出现了问题。恢复出厂设置无法解决问题,因此暂时我使用的是旧 AP。这似乎解决了问题,尽管代价是最大带宽较低(因为我已从 802.11ac 降级到 n)。所以我想我会买一个新的 AP。
我不确定这个问题对社区有多大价值。如果我收到几张反对票或几条认为它没有价值的评论,我就会删除它。
答案2
听起来像是网络问题。我克隆虚拟机时遇到过这种情况,但两台虚拟机的 MAC 地址最终都相同。有一次 LAN 上有两台机器具有相同的 IP,也发生了这种情况。您可以在“守护进程”主机上尝试 tcpdump,看看它是否能显示任何内容。我认为tcpdump -e
会在数据包中显示 MAC。(例如:tcpdump -nn -s0 -A -e
获取大量信息)