通过与第二个 NIC 的直接链接连接到 sshd

通过与第二个 NIC 的直接链接连接到 sshd

默认情况下情况就是这样。我没有设置任何东西。我的debian服务器已打开网络连接,eno2ip 为192.168.1.40。Internet、sshd,一切正常。

现在我添加了第二个到 的连接eno4。它是到另一台计算机的直接链路(没有路由器或交换机),用于管理目的。我们将其称为一个客户端。在客户端上,它自动显示为10.0.0.2。我可以从客户端 ping 。

在服务器上,没有分配 IP 地址。但我可以从客户端顺利进行 netcat,因为我只需要客户端 IP 地址。

例如:

客户:

$ echo "Some big ZFS pool here" | nc -l -p 5555

服务器:

$ nc -w 10 10.0.0.2 5555 | cat
Some big ZFS pool here

现在我想使用此连接连接到服务器上的 sshd。

但是,连接被拒绝。我可以通过默认eno2 192.168.1.40连接通过 LAN 和互联网顺利连接。只是不能通过这个直接链接。

默认情况下,sshd监听所有接口上的所有传入连接。也许eno4只需要一个 IPv4 地址。所以我这样做了:

$ sudo ip addr add 10.0.0.1/8 dev eno4
$ ip addr show eno4
5: eno4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 0a:a5:6a:1b:a2:22 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.1/8 scope global eno4
       valid_lft forever preferred_lft forever

我可以10.0.0.1从服务器 ping 通。我可以 netcat。但是,我不能 ssh。

有很多很长的阅读,很多处理网络上各种路由表和内容的工作。但我真的对路由一无所知,它是否必要,替代方案是什么,我可能会花一整天的时间尝试它。但它真的那么复杂吗?我可以 ping。我可以 netcat。ssh开始操作界面的绝对最简单的方法是什么?甚至可能是暂时的,这样我就可以完成工作现在

并且,可选的是,什么是更好的永久解决方案?

请注意,它sshd已经在监听所有内容,我不希望它停止监听。我不想更改 sshd 配置,甚至不想重新启动 sshd,因为服务器正在使用中。

该服务器上最初唯一改变的是端口:

# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.

Port 22222
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

... snip ...

答案1

显然,添加 IP 地址后,它确实有效。我犯了一个错误,ssh_config我以为后面的条目会覆盖前面的条目,但事实恰恰相反!

简化示例;这个才不是工作:

Host SomeServer
    Hostname 192.168.1.40
    User admin
    Port 22222
Host SomeServer
    # Some temporary overwrite parameters
    Hostname 10.0.0.1

然而,这工作:

Host SomeServer
    # Some temporary overwrite parameters
    Hostname 10.0.0.1
Host SomeServer
    Hostname 192.168.1.40
    User admin
    Port 22222

我觉得自己有点傻,不知道该如何处理这个案例:

  1. 投票删除我的问题
  2. 更新我的问题并解释它确实按预期工作
  3. 通过以下澄清来回答我自己的问题

我选择了后者,这样我就可以结案了,并且为问了一个无法解决的问题而道歉(因为实际上它已经起作用了)。

相关内容