【问题标题】:SSH Server confirms Client?SSH 服务器确认客户端?
【发布时间】:2015-07-22 23:16:51
【问题描述】:

我的公司使用商业 (TIBCO MFT) 软件系统来处理文件传输,我最近遇到了一个无法连接到特定客户端 SFTP 服务器的实例。从同一本地服务器上的 Linux 终端访问时,我可以整天连接,但是在尝试使用该软件时,我无法进行身份验证。我正在使用一个简单的用户/密码设置来连接它们。 我最终通过(在软件控制面板中)在 SSH 选项中选择“使用默认密钥”(顺便说一下,这是我们的密钥)来解决这个问题,之前的选择是“无”。 在我看来,我们应该被要求使用 some 类型的密钥,但我注意到我们有很多使用服务器配置的 SFTP 推送文件传输,其中 SSH 密钥标记为“没有任何”。 我环顾四周,没有找到满意的答案。不过,我有我的怀疑:

  • 远程服务器是否有一个包含远程系统密钥的文件(有点像 known_hosts?),以及 如果客户端系统不在该文件中,他们甚至不会让我登录 在?
  • 这是否与“双密钥交换”有关 在 SSH2 中使用?如果客户服务器使用 SSH1,它不需要我的服务器密钥吗?

我非常感谢对此的任何见解。

【问题讨论】:

    标签: ssh sftp file-transfer tibco


    【解决方案1】:

    SSH 可以设置为接受密钥和用户名/密码。目标系统可以轻松支持两者。

    您没有“known_hosts”文件来验证(使用密钥)您从哪个主机连接。你只验证主机连接。然而,通过防火墙或 SSH 配置使用 IP 限制来限制对主机的访问是很常见的。

    但是您仍然可以使用密钥访问主机上的帐户。

    如果目标系统是某种 Unix,您很可能有一个用于访问它的帐户名。该用户帐户很可能在服务器上有一个主目录。在帐户主目录中,您将有一个名为“.ssh”的文件夹,在该文件夹中您有一个名为“authorized_keys”的文件。您可以在此文件中列出用于访问此帐户的任意数量的公钥。如果您拥有正确的私钥/公钥对,您就可以访问此帐户。

    所以要回答您的具体问题: - 否。此类限制将基于 IP。 - 不可以。服务器密钥仅用于验证您连接的服务器。

    第一次密钥交换将验证您连接的主机。这是您第一次连接到主机时被询问的内容。当您接受这一点时,您将拥有一个加密会话。如果允许,您将在此之后输入用户名/密码。如果主机设置为使用基于密钥的身份验证,那么您必须提供您的密钥。

    SSH 客户端和您的 SSH 服务器都应该提供日志,其中包含许多有关发生情况的提示。

    许多 Unix 服务器使用 OpenSSH,您可以在以下位置查看配置文件: /etc/ssh/sshd_config

    如果您尝试连接到需要基于密钥的身份验证且不接受用户名/密码的 SSH 服务器,那么您通常会收到错误消息:“没有可用的支持的身份验证方法(服务器发送:公钥)”。

    但是,当使用商业解决方案时,我怀疑他们的 ssh 堆栈可能是旧的和过时的,并且没有使用现代密码套件。您可以通过在“/etc/ssh/sshd_config”中搜索“Ciphers”来查看Linux服务器上使用了哪些密码

    为了进一步排除故障,我建议使用源系统中的 putty 直接连接。如果 TIBCO MFT 使用过时的堆栈并需要更新,这很容易解决。

    您可以通过以下方式获取 Putty:http://www.chiark.greenend.org.uk/~sgtatham/putty/

    为了进一步帮助您,我们需要连接日志和配置文件。您应该有一个连接错误,它可以准确地告诉我们出了什么问题。

    【讨论】:

      猜你喜欢
      • 2013-02-23
      • 2011-11-26
      • 1970-01-01
      • 2017-09-11
      • 1970-01-01
      • 1970-01-01
      • 2010-12-15
      • 2018-03-09
      • 1970-01-01
      相关资源
      最近更新 更多