在 Ubuntu 上使用 OpenSSH 设置基于本地 IP 的过滤

在 Ubuntu 上使用 OpenSSH 设置基于本地 IP 的过滤

问候,

我们公司的服务器管理员突然离职,导致我们这些 IT 人员对 Linux 和服务器设置等一无所知。设置如下:

我们的本地服务器位于公司一楼,我们用它来进行开发,并作为安全隧道,通过它我们可以访问位于德国的实时服务器。它安装了 Ubuntu 和 OpenSSH。它包含我们的 SVN 存储库,我们的实时服务器从此服务器更新。它设置了一个 dyndns,并且运行正常。更新工作流程如下:进行更改、提交、以 root 用户身份通过​​ SSH 连接到本地服务器、通过 SSH 连接到实时服务器、执行更新。这一切都通过 dyndns 运行良好,并且过去通过我们的本地网络运行良好 -> 当我们在一楼(与服务器一起)时,我们有某种基于 IP 的过滤。在公司的 5 个 WAN 中,只有我们的 WAN 可以通过 SSH 连接到服务器。但是,我们现在搬到了二楼,服务器表现得好像不认识我们一样。我认为当我们将电缆从机架中交换机的一部分切换到另一部分时,本地 IP 发生了变化(交换机的不同部分是否位于不同的 IP 上?我认为是这样……),现在我们无法在本地通过 SSH 连接到它(dyndns 仍然有效)。接管我们废弃办公室的人可以像我们以前一样通过 SSH 连接到它,但他们不应该这样做。

问题是 -> 在哪里以及如何在本地服务器上为 SSH 连接设置这种基于本地 IP 的过滤?我阅读了几个 SSH 教程,浏览了 sshd_config 文件等,但什么也没找到。如果您能帮助我,请具体说明,我对整个过程一无所知,所以说“生成公钥并将其上传到机器”之类的话只会让我感到困惑 :)

非常感谢..

编辑:

netstat -plutn | grep sshd

tcp 0 0 0.0.0.0:22 0.0.0.0:* 监听 758/sshd
tcp6 0 0 :::22 :::* 监听 758/sshd

iptables -n -L

链输入(策略接受)目标保护选择源目标

链转发(策略接受)目标保护选择源目标

链输出(策略接受)目标保护选择源目标

SSHD_config

基于主机的身份验证 否

IgnoreUserKnownHosts 是

收听地址 ::

监听地址 0.0.0.0

匹配 -> 未指定,行不存在

编辑2:问题解决。

这完全是人为失误。负责将我们一楼机架连接到二楼的那个人根本没有这样做。他实际上将以太网插座重定向到他们自己的交换机并告诉我们他做到了。因此,我们可以通过他们的网络上网。今天,大楼里来了一位年轻的网络管理员,当我问他这件事时,他只是失望地叹了口气,并按照一开始应该连接的方式连接了所有东西。现在一切都很好。

答案1

你应该检查 sshd 正在监听哪些接口

netstat -plutn | grep sshd

你应该检查一下iptables22 端口上的传入连接规则。

还请检查 sshd_config:

HostbasedAuthentication
IgnoreUserKnownHosts
ListenAddress
Match

答案2

根本没有过滤。这是人为错误,如问题编辑内容中所述。我想我有一天得把所有东西拆开,学习这些东西,以免自己再浪费时间和尴尬。

感谢 MealstroM 的努力!

相关内容