ssh 问题有点复杂。可以 ping,但不能 ssh,只能从现场

ssh 问题有点复杂。可以 ping,但不能 ssh,只能从现场

我正在尝试从我的笔记本电脑 (Ubuntu) 通过 ssh 连接到我工作服务器 (CentOS)。当我在家时,我通过在服务器上运行以下脚本来执行此操作 (我在工作时启动它):

ssh -R (port #):localhost:22 (name@home ip)

我这样做是因为它不接受来自外部 IP 的连接。然后,我可以通过 ssh 进入笔记本电脑上的指定端口,一切正常。

但是,当我实际在工作时,我无法通过 ssh 连接到服务器。办公室里的其他人可以。他们执行这个非常简单的命令(仅在他们在工作时有效,因为他们需要系统内部的 IP):

ssh (username)@(work ip)

他们会自动登录。当我这样做时,我没有得到任何响应;没有公钥拒绝,没有错误的用户名,根本没有响应。最终它超时了。但我知道服务器正在运行 ssh,因为其他人都可以这样做。

此外,如果我在工作时在笔记本电脑上执行此操作:

ping (work ip)

我确实收到了响应数据包,没有丢失,几乎没有延迟。但是 ssh 不起作用。

我可以用我的笔记本电脑 ssh 到其他地方,无论是在家还是在办公室。因此,我的笔记本电脑已正确配置为 ssh 到其他地方,只是出于某种原因无法连接到工作服务器。我与设置它的人交谈过,他坚持说没有白名单;来自内部 IP 的唯一安全性(我亲自在现场,所以我有一个内部 IP,所以应该不需要像在家那样执行 ssh -r)是私钥/公钥 RSA 密钥系统,我知道密钥一定已经设置好了,因为当我从家里执行 ssh -R 时它可以工作。另外,如果没有设置密钥,我会收到公钥拒绝,而不是根本没有响应,对吗?

如果我执行 ssh -vv,这是超时前的最后一行:

debug1: Connecting to ccny6 [WORK IP] port 22.

我看到其他人也发过类似的问题,但是他们给出的答复似乎一般都是“服务器是否正在运行 ssh 服务”等等,我知道这是因为其他人可以通过 ssh 来执行此操作(如果我使用 ssh -r 隧道,我也可以这样做),所以不幸的是,这些答复对我都没有多大帮助。

摘要:我可以通过 ssh 隧道从 OFF 站点 ssh 到服务器,但是当我就在服务器旁边使用直接 ssh 时,无法 ssh 到它,即使我可以 ping 它,其他人也可以 ssh 到它。

答案1

根据我们长时间的交谈,这很可能不是 Ubuntu 的问题。事实上,您描述的问题似乎是在服务器端,与您的笔记本电脑无关。因此,我的“解决方案”是 ping 子网中的各种 IP,直到找到一个不响应的 IP。然后,将您的笔记本电脑更改为使用该 IP 作为静态 IP。测试一下您现在是否可以通过 ssh 连接到服务器。我敢打赌,喝一杯健怡可乐,这一定有用。然后,返回到您的旧 IP 设置,并将您的发现呈现给不合作的 IT 人员,他们应该感谢您为他们完成工作。

相关内容