语境
我在两台不同的计算机上使用适用于 Linux 的 Windows 子系统 (WSL),我想从一台计算机 ssh 到另一台计算机,反之亦然。两台计算机都在同一个网络上,因此它们可以通过私有 IP 直接通信。这一切都是为了以后在主从模式中将它们用于并行任务,所以我将一台计算机称为主机,另一台计算机称为从机(尽管这在这一点上仍然无关紧要)。我还没有通过密钥设置连接(好吧,我已经设置了,但从那时起我就放弃了,并重新安装了一切)
问题:
我能登录:
- 从奴隶到主人
- 从从属到从属(通过 ssh localhost,或直接 ssh XXX.XXX.X.XXX)
- 从主服务器到主服务器(ssh localhost 或 IP)
我不能从主服务器登录到从服务器。我收到以下错误:
ssh: connect to host slave1 port 22: Resource temporarily unavailable
编辑:尝试使用第三台计算机。第三台计算机可以登录到主计算机,反之亦然。从属计算机可以登录到第三台计算机,但第三台计算机不能登录到从属计算机。因此,问题似乎出在无法“接收” ssh 的从属计算机。(不过,值得提醒的是,从属计算机可以毫无问题地通过 ssh 进入自身)。
我还注意到一些可能起作用也可能不起作用的东西:即使没有以太网电缆连接到计算机ifconfig
,从属计算机的输出也会给我一个神秘的eth1
部分,启动并运行。其他计算机不会发生这种情况。从属计算机无论如何都连接到与其他计算机相同的 wifi,我打算使用该 IP 来 ssh 进入它。
我尝试完全禁用从属服务器上的防火墙,但似乎无法解决问题
尝试的解决方案:
现在,我找到了很多解决 WSL 上 ssh 问题的材料,但没有一个对我有用。以下是我尝试过的(非详尽)无效的方法列表,这些方法来自不同的来源:
- 在从属服务器的防火墙中添加一条规则以允许端口 22
- 禁用从属服务器上的 Windows ssh 服务以避免冲突
- 卸载/重新安装
openssh-client
/openssh-server
- 侮辱我的电脑家族
PasswordAuthentication yes
在 sshd_config 文件中设置,设置UsePrivilegeSepration no
将这行奇怪的内容添加到 sshd_config 文件中:
Host * ProxyCommand nc %h %p %r
- 发现更严重的侮辱
现在的情况
我只是从两台计算机清除并重新安装了 ssh 包,没有任何调整。情况仍然与问题中描述的完全相同:从属设备可以毫无问题地连接到主设备或其自身,但主设备无法连接到从属设备。
我该如何修复这个问题?