【问题标题】:SSH Works For Some Hosts, Not For OthersSSH 适用于某些主机,不适用于其他主机
【发布时间】:2013-08-28 10:12:55
【问题描述】:

我从家里通过 SSH 连接到我的工作计算机时遇到了问题。我已经能够成功地通过 ssh 连接到我们的一个 Web 服务器,所以我知道 ssh 守护进程正在工作,并且我的连接至少允许一些 ssh。但是当我尝试 ssh 到我的工作计算机时,它会超时。

我昨天去了我的大学,我能够成功地通过 ssh 连接到 Web 服务器和我的工作计算机。我在工作中查看了我们的防火墙,看看我的 IP 上是否有任何阻止,但它没有被阻止。

如果有帮助的话,我的 ISP 是 comcast。我做了一些谷歌搜索,一些 comcast 客户说 comcast 有时会阻止文件共享端口,例如 ssh 端口 (22)。

任何帮助将不胜感激。谢谢。

【问题讨论】:

  • 试试ssh -v ...。它更详细,所以你会更好地理解问题......
  • 这是我从详细运行 ssh 中得到的结果... OpenSSH_5.3p1,OpenSSL 1.0.0-fips 2010 年 3 月 29 日 debug1:读取配置数据 /etc/ssh/ssh_config debug1:为 * debug2 应用选项: ssh_connect: needpriv 0 debug1: 连接到 XXX 端口 22. debug1: 连接到地址 XXX 端口 22: 连接超时 ssh: 连接到主机 XXX 端口 22: 连接超时
  • SO 题外话;属于Super User

标签: linux ssh


【解决方案1】:

首先检查您的工作计算机的/etc/hosts.deny 文件。这可能包含可能表明某些 IP 可能被阻止的行。然后检查/etc/hosts.allow 文件。您可以将您的家庭计算机传出 IP 添加到您的工作计算机/etc/hosts.allow

注意:这个问题应该属于superusersserverfaultstackoverflow 是针对涉及编码的问题...

【讨论】:

  • 谢谢。我以前从未在任何网站上问过问题,也不知道应该在哪里。
【解决方案2】:

没有一个单一的“ssh 守护进程”......在您成功连接的每台主机上都有一个正在运行。如果您无法连接到主机,主要有两个原因:

  1. 主机上没有运行 SSH 守护程序。在这种情况下,您可能会收到“连接被拒绝”
  2. 你和主机之间有防火墙,不允许22端口通过。在这种情况下,您可能会遇到超时。

如果您尝试从“外部”连接到防火墙后面的主机,如您所建议的,则极有可能无法从 Internet 访问该主机。如果“工作计算机”的 IP 地址看起来像 192.168.x.x172.[16-31].x.x10.x.x.x,那么它是一个无法路由的私有地址,无论您做什么,您都无法从外部访问它,除非特定的在防火墙上设置端口转发规则;在这种情况下,您将连接到防火墙的 IP 地址,而不是您的目标主机。

【讨论】:

  • 我们确实使用防火墙端口将任何 ssh 请求转发到的特定计算机。就像我在最初的帖子中所说的那样,我能够通过我正在使用的大学互联网连接进行 ssh 工作,而不是在家中。我还可以通过 ssh 连接到我们拥有的其他 Web 服务器。
  • 您必须定义“工作”和“大学”网络的含义。此外,根据定义,任何 Internet 可见的 Web 服务器都具有可路由的 IP 地址,如果它正在侦听端口 22,则可能通过 SSH 访问。这是可能无法访问的“工作”计算机。 '大学'网络上的'工作'吗?
  • 我很抱歉不是很清楚。这些是具有 3 个不同 IP 的 3 个不同的网络——我的家庭网络是一个,我的工作网络是另一个,而大学是最后一个。每个网络都有自己的 ISP 分配的 IP。我家有自己的康卡斯特分配的IP,我的工作有自己的康卡斯特分配的IP,大学有自己的未知IP。我能够通过工作网络上的端口 22 连接到大学网络并通过 SSH 进入工作网络,该端口转发到工作网络上的计算机。
猜你喜欢
  • 1970-01-01
  • 2013-09-07
  • 2021-06-25
  • 1970-01-01
  • 2016-01-14
  • 1970-01-01
  • 1970-01-01
  • 2012-09-05
  • 1970-01-01
相关资源
最近更新 更多